Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

30 Days of Learning Java

A personal challenge to learn Java through consistent daily practice while building strong programming fundamentals.

About

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.


Goals

  • 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

Progress

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

Projects

Day 1 — PersonalInfo

Concepts learned:

  • Packages
  • Imports
  • Variables
  • Data types (String, int)
  • User input with Scanner
  • Output with System.out.print() and System.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


Day 2 — TemperatureConverter

Concepts learned:

  • Comparison operators
  • Conditional logic
  • if, else if, and else
  • Basic mathematical formulas

Program features:

  • Converts Celsius to Fahrenheit
  • Categorizes temperature as cold, mild, or hot

Find: src/main/java/com/learning/TemperatureConverter.java


Day 3 — GradeCalculator

Concepts learned:

  • for loops
  • 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


Day 4 — GradeManager

Concepts learned:

  • ArrayLists
  • for loops with lists
  • 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


Day 5 — GradeCalculatorWithMethods

Concepts learned:

  • Methods (functions)
  • Returning values from methods
  • Parameters
  • Breaking programs into smaller parts
  • Reusing code
  • ArrayList with 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

About

A public log of my Java learning journey. Over 30 days, I study Java fundamentals, write code daily, experiment with new concepts, and track my growth as a programmer.

Resources

Stars

1 star

Watchers

0 watching

Forks

Contributors

Languages