A personal challenge to learn Java through consistent daily practice while building strong programming fundamentals.
This repository documents my 30-day Java learning journey. Each day I learn new concepts, write code by hand, and focus on understanding how programs work rather than simply copying solutions.
I'm using:
- Java
- Maven
- Git
- GitHub
- VS Code
The goal is to build a solid foundation in programming and software development through daily practice.
- Learn Java fundamentals
- Develop problem-solving skills
- Understand object-oriented programming
- Learn Maven project management
- Become comfortable with Git and GitHub
- Build consistent coding habits
| Day | Topic | Project |
|---|---|---|
| 1 | Variables, Data Types, User Input, Scanner | PersonalInfo |
| 2 | if/else Statements, Comparison Operators | TemperatureConverter |
| 3 | Loops, Accumulators, Grade Calculations | GradeCalculator |
| 4 | ArrayLists, loops, finding max/min, average calculations | GradeManager |
| 5 | Methods, parameters, returning values | GradeCalculatorWithMethods |
Concepts learned:
- Packages
- Imports
- Variables
- Data types (
String,int) - User input with
Scanner - Output with
System.out.print()andSystem.out.println()
Program features:
- Asks for a user's name
- Asks for their age
- Asks for their favorite color
- Displays the information back to the user
Find: src/main/java/com/learning/PersonalInfo.java
Concepts learned:
- Comparison operators
- Conditional logic
if,else if, andelse- Basic mathematical formulas
Program features:
- Converts Celsius to Fahrenheit
- Categorizes temperature as cold, mild, or hot
Find: src/main/java/com/learning/TemperatureConverter.java
Concepts learned:
forloops- Accumulators
- Repeated user input
- Average calculations
- Multi-branch conditional logic
Program features:
- Accepts multiple student grades
- Calculates class average
- Assigns a letter grade based on the average
Find: src/main/java/com/learning/GradeCalculator.java
Concepts learned:
ArrayListsforloops withlists- indexing
lists - finding sum of values
- finding max and min values
- basic data processing
Program features:
- Stores multiple student grades
- Asks user how many grades to enter
- Displays all grades entered
- Calculates average grade
- Finds highest grade
- Finds lowest grade
Find: src/main/java/com/learning/GradeManager.java
Concepts learned:
Methods(functions)- Returning values from methods
- Parameters
- Breaking programs into smaller parts
- Reusing code
ArrayListwith methods
Program features:
- Stores multiple student grades
- Uses methods to organize the program
- Calculates average grade
- Finds highest grade
- Finds lowest grade
- Displays all grades entered
Find: src/main/java/com/learning/GradeCalculatorWithMethods.java