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%
-
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
- Creational
- File In/Out
- Annotations
- Java Pattern/Regular Expression
- Threads
- Multithreading
- Reflection
-
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
- String Methods
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.