This repository has helped me refresh my logic and knowledge of Java. It contains practical exercises and code examples to reinforce fundamental concepts. My progress includes:
- Basic level: Variables, loops, and methods.
- Object-Oriented Programming (OOP): Classes, inheritance, and interfaces.
- Testing: Unit tests and mocks with JUnit and Mockito.
- Developed everything in Eclipse IDE for Java Developers (version 2024-09, 4.33.0), dedicating 3 weeks to small daily exercises.
- Leveraged Claude Sonnet 4 to clarify doubts and accelerate learning.
My goal has been to consolidate the coding and logic knowledge I had previously learned but needed to refresh.
- ✅ Step-by-step practical exercises
- ✅ Examples that gave me confidence and security in my logic
- ✅ Testing as the most forgotten part, covering unit tests, mocks, Mockito, and JUnit
- ✅ Logical progression and concept consolidation
Java-Fundamentals-Practice/
├── basics/ # Basic fundamentals: variables, loops, methods
├── fundamentals/ # Essential concepts: input/output, strings
├── oop-basics/ # Basic OOP: classes, inheritance, interfaces
├── collections/ # Introduction to collections: lists, maps
├── exception/ # Basic exception handling
├── testing/ # Unit tests and mocks with JUnit and Mockito
└── README.md # Documentation
basics → fundamentals → oop-basics → collections-intro → exception-handling → testing-basics
git clone https://github.com/isnaval/Java-Fundamentals-Practice.git- Java 17 or higher installed
- Recommended IDE (Eclipse, IntelliJ IDEA, VS Code) - I used Eclipse
- Basic prior programming knowledge (recommended)
| Basic Level | Intermediate Level | Advanced Level |
|---|---|---|
|
• Variables and primitive types • Arithmetic and logical operators • Control structures • Methods and parameters |
• Object-Oriented Programming • Classes, objects, constructors • Inheritance and polymorphism • Interfaces and abstract classes |
• Collections Framework • Exception handling • Basic generics • Testing with Unit tests, Mocks, JUnit and Mockito |
This is a personal learning repository, but improvements and suggestions are welcome. Let me know if you add anything so I can learn from it.
This project is available as open source under the MIT License.