A organização dos estudos está dividida em: Fundamental, Orientacao a objetos e Topicos Avancados.
Cada topico possui projetos e exercicios para fixacao dos conceitos.
O projeto final do módulo fundamental está disponivel em mastery-java.jar no diretório
out/artifacts/mortgage_calculator_refactored.
src/
└── main/
└── java/
└── com/
└── mastery/
├── advanced/
│
└── fundamentals/
├── cleancode/
│ ├── CreatingMethods.java
│ └── Refactoring.java
│
├── controlflow/
│ ├── BreakContinue.java
│ ├── ComparisonOperators.java
│ ├── DoWhileLoops.java
│ ├── FizzBuzzExercise.java
│ ├── ForEachLoops.java
│ ├── ForLoops.java
│ ├── IfStatement.java
│ ├── LogicalOperators.java
│ ├── SimplifyingIfStatements.java
│ ├── SimplifySwitchStatements.java
│ ├── SwitchStatement.java
│ ├── TernaryOperator.java
│ └── WhileLoops.java
│
├── getstarted/
│ └── Main.java
│
├── projects/
│ ├── MortgageCalculator.java
│ ├── MortgageCalculatorV2.java
│ └── MortgageCalculatorV3.java
│
└── types/
├── ArithmeticExpressions.java
├── ArraysJava.java
├── Casting.java
├── Constants.java
├── EscapeSequences.java
├── FormattingNumbers.java
├── MathClass.java
├── MultidimensionalArrays.java
├── OrderOfOperations.java
├── PrimitiveTypes.java
├── ReadingInputs.java
├── ReferenceTypes.java
├── Strings.java
└── Variables.java
===========================================================================
[1] - Getting Started (Hello World)
[1] - Variables
[2] - Primitive Types
[3] - Reference Types
[4] - Strings
[5] - Escape Sequences
[6] - Arrays
[7] - Multidimensional Arrays
[8] - Constants
[9]- Arithmetics Expressions
[10] - Order of Operations
[11] - Casting
[12] - The Math Class
[13] - Formatting Numbers
[14] - Reading Inputs
- 🚀 PROJECT -> Mortgage Calculator
[1] - Comparison Operators
[2] - Logical Operators
[3] - If Statements
[4] - Simplifying If Statements
[5] - Ternary Operators
[6] - Switch Statements
- 🚀 EXERCISE - FizzBuzz
[7] - For Loops
[8] - While Loops
[9] - Do While Loops
[10] - Break and Continue Statements
[11] - For Each Loops
- 🚀 PROJECT -> Mortgage Calculator
[1] - Clean Codding
[2] - Creating Methods
[3] - Extracting Methods
[4] - Refactoring Repetitive Patterns
[5] - Refactoring the Code
- 🚀PROJECT -> Payment Schedule
[1] - Finding and Fixing Errors
[2] - Types of errors
[3] - Common Syntax erros
[4] - Debugging
[5] - Packaging and Deploying Applications
===========================================================================
[1] - Encapsulation
[2] - Abstraction
[3] - Constructors
[4] - Getters and Setters
[5] - Method Overloading
[6] - Static Members
- 🚀 PROJECT -> Mortgage Calculator
[1] - Constructors
[2] - Access Modifiers
[3] - Overriding Methods
[4] - Upcasting and Downcasting
[5] - Comparing Objects
[6] - Polymorphism
[7] - Abstract Classes and Methods
[8] - Final Classes and Methods
[9] - Deep Inheritance Hierarchies
[10] - Multiple Inheritance, in Java [ YAGNI ]
[1] - Qhat is an interface?
[2] - Why we need them
[3] - How to use them "properly"
[4] - Dependency injection
- Constructor Injection
- Setter Injection
- Method Injection
[5] - Interface Segregation Principle
- Fields
- Static Methods
- Private Methods
- Interfaces and Abstract Classes
[6] - When to Use Interfaces
- 🚀 PROJECT -> MyTube Video Platform
===========================================================================