MorickClive / Vale-Java-Practice

A refresher of Java concepts, both by practice and explaination; tasks to be included.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Vale-Java-Practice

The objective of this practice is to cover a basic set of Java techniques, this will include some OOP techniques and potentially some Lambda expressions.

This project may include excessive comments, this is purely as a reflection of recollection and refreshing of each concept explored. Tasks will include more programmatic driven solutions rather than an exploration of java techniques and keywords.

Checkout the feature-branch model here!

Code Coverage: 96.6%

ACTIVE PROJECT PHASE: VALE

Topics to Cover:

  • Java Basics:

    • Variables
    • Methods
    • Flow & Control
    • Arrays
    • Operations (Incremental, Arithmetic, PEMDAS/BIDMAS, Modulus)
    • Conditionals (if, switch-case, ternary bitwise)
    • Iteration/Loop(for, for-each, while, do-while)
    • Strings
  • Object-Oriented Programming

    • Class practices
    • Wrapper classes
    • Object-Oriented Programming Principles:
      • Encapsulation
      • Inheritance
      • Polymorphism
      • Abstraction
    • Enumeration
    • Generics
  • Advanced Java:

    • Exceptions: try, try-catch, try-finally
    • Scanners
    • Design Patterns
      • Creational
        • Builder Pattern
        • Singleton
      • Structural
        • Decorator Pattern
        • Adapter Pattern
      • Behavioural
        • Observer Pattern
        • Iterator Pattern
    • File In/Out
    • Annotations
    • Java Pattern/Regular Expression
    • Threads
    • Multithreading
    • Reflection

Java Version Features

  • JAVA 4/5

    • For-Each loops
    • VarArgs
    • Static import
    • Enumeration
    • AutoBoxing (Wrapper Classes, type inference)
    • Annotations
    • Generics
  • JAVA 7

    • (String enabled) Switch-Case
    • Multi-catch (multi block or type divide '|')
    • Type Inference
  • JAVA 8 (Projects: VALE, PASS):

    • Functional Interface
    • Streams/Lambdas
      • box
      • collect
        • Collectors
      • forEach
      • map
      • filter
      • sorted
      • reduce
    • Date & Time
    • Base-64 en/decoding
    • Method references
    • Default methods
    • JDBC
Java 9 (Projects:STRONGHOLD, BASTION)
  • Java 9 (Projects:STRONGHOLD, BASTION):
    • Private Interface Methods
    • Try-With Resources
    • Anonymous Classes
    • Safe Varargs annotations
    • Factory Methods (Set, List, Map; .of(x, y, z))
    • Java Modules
    • Stream Improvements
    • Underscore: '_' is a keyword
Java 10 (Projects: HALL, MYTHWRIGHT, AHDASHIM)
  • Java 10 (Projects: HALL, MYTHWRIGHT, AHDASHIM):
    • Optional .orElseThrow()
Java 11 (Projects: HALL, MYTHWRIGHT, AHDASHIM)
  • Java 11 (Projects: HALL, MYTHWRIGHT, AHDASHIM):
    • String Methods
      • isBlank
      • lines
      • strip
      • stripLeading
      • stripTrailing
      • repeat
    • File Methods:
    • Collection to Array
    • Java file execution
    • Predicate "Not" method
    • Lambda Local variables

Additional topics may be incorporated, the repo should follow a developer-branch(also know as feature-branch) model.


Some additional topics might include:

  • Tasks to complete
  • A basic java-maven application.
  • Unit testing with Junit.

About

A refresher of Java concepts, both by practice and explaination; tasks to be included.


Languages

Language:Java 100.0%