Skip to content

Latest commit

 

History

History
289 lines (202 loc) · 6.03 KB

File metadata and controls

289 lines (202 loc) · 6.03 KB

Java Beginner to Developer

This repository documents my daily journey from Java basics to developer-level problem solving and system thinking.

Goals

  • Build strong fundamentals
  • Practice daily coding
  • Prepare for backend & full-stack interviews

Structure

  • Day-wise problems
  • Clean and readable code
  • Interview-oriented solutions

Day 1 – Java Basics & Setup

Topics covered:

  • How Java works (JVM, bytecode, platform independence)
  • Java program structure
  • main method as JVM entry point
  • Printing output using System.out.println
  • Variables and basic data types

Code location:

  • src/day01_basics/

Day 2 – Control Flow & Decision Making

Topics covered:

  • if / else conditions
  • Logical operators (AND, OR)
  • switch statement
  • Real-world business logic examples

Code location:

  • src/day02_control_flow/

Day 3 – Loops & Iteration

Topics covered:

  • for loop
  • while loop
  • do-while loop
  • Loop-based logic problems

Code location:

  • src/day03_loops/

Day 4 – Methods & Code Reusability

Topics covered:

  • Creating custom methods
  • Parameters and return types
  • Writing reusable business logic

Code location:

  • src/day04_methods/

Day 5 – Arrays & Iteration

Topics covered:

  • Array declaration and initialization
  • Accessing array elements
  • Iterating through arrays
  • Multi-dimensional arrays
  • Common array operations

Code location:

  • src/day05_arrays/

Day 6 – OOP Basics (Classes & Objects)

Topics covered:

  • Class and object creation
  • Constructors
  • Instance variables
  • Basic object behavior modeling

Code location:

  • src/day06_oop_basics/

Day 7 – Encapsulation & Access Modifiers

Topics covered:

  • Data hiding using private variables
  • Getters and setters
  • Controlled access to object state
  • Access modifiers (private, public)

Code location:

  • src/day07_encapsulation/

Day 8 – Inheritance

Topics covered:

  • extends keyword
  • super constructor
  • Method overriding
  • Code reuse through class hierarchy

Code location:

  • src/day08_inheritance/

Day 9 – Polymorphism

Topics covered:

  • Method overloading
  • Method overriding with polymorphic behavior
  • Runtime polymorphism using interfaces
  • Upcasting and downcasting
  • Polymorphic method calls

Code location:

  • src/day09_polymorphism/

Day 10 – Abstraction

Topics covered:

  • Abstract classes and abstract methods
  • Difference between abstraction and inheritance
  • Method overriding in abstract classes
  • Runtime polymorphism using abstract classes
  • Concrete methods inside abstract classes
  • Real-world abstraction example (Bank system)

Code location:

  • src/day10_abstraction/

Day 11 – Interfaces

Topics covered:

  • Introduction to interfaces
  • Implementing interfaces using implements
  • Runtime polymorphism with interfaces
  • Multiple inheritance using interfaces
  • Real-world payment system example

Code location:

  • src/day11_interfaces/

Day 12 – Exception Handling

Topics covered:

  • try, catch, and finally blocks
  • Handling multiple exceptions
  • Understanding exception hierarchy
  • Creating custom exceptions
  • Using throw and throws
  • Real-world bank withdrawal example

Code location:

  • src/day12_exceptionhandling/

Day 13 – Collections Framework (Part 1)

Topics covered:

  • Introduction to Java Collections Framework
  • Working with ArrayList
  • Working with LinkedList
  • Using HashSet for unique elements
  • Using HashMap for key-value storage
  • Storing custom objects in collections

Code location:

  • src/day13_collections/

Day 14 – Collections Framework (Advanced)

Topics covered:

  • Using Iterator for traversal
  • Implementing Comparable for natural sorting
  • Using Comparator for custom sorting
  • Sorting collections with Collections.sort()
  • Working with TreeSet for automatic sorting

Code location:

  • src/day14_collections_advanced/

Day 15 – File Handling (I/O)

Topics covered:

  • Creating files using File class
  • Writing data using FileWriter
  • Reading data using FileReader
  • BufferedReader and BufferedWriter usage
  • Reading files line by line
  • Appending logs to a file

Code location:

-src/day15_filehandling/

Day 16 – Multithreading (Basics)

Topics covered:

  • Creating threads using Thread class
  • Creating threads using Runnable interface
  • Using sleep() method
  • Understanding thread lifecycle basics
  • Synchronization using synchronized keyword
  • Preventing race conditions
  • Using join() method

Code location:

  • src/day16_multithreading/

Day 17 – Java 8 Features (Lambda & Streams)

Topics covered:

  • Lambda expressions
  • Functional interfaces
  • Method references
  • Streams API
  • Filtering and mapping collections
  • Using forEach with streams

Code location:

  • src/day17_java8_features/

Day 18 – JDBC (Database Connectivity)

Topics covered:

  • Connecting to MySQL using JDBC
  • Creating tables using Statement
  • Inserting data using PreparedStatement
  • Retrieving data using ResultSet
  • Updating records in database
  • Using try-with-resources for resource management

Code location:

  • src/day18_jdbc/

Day 19 – JDBC Mini CRUD Project

Topics covered:

  • Building a console-based CRUD application
  • Implementing DAO pattern
  • Performing Insert, Select, Update, and Delete operations
  • Using PreparedStatement for secure queries
  • Structuring a real backend-style project

Code location:

  • src/day19_jdbc_crud/

Day 20 – Introduction to Spring Boot

Topics covered:

  • Understanding Spring Boot architecture
  • Creating a Spring Boot project using Spring Initializr
  • Building a REST controller
  • Creating GET endpoints
  • Running embedded Tomcat server
  • Testing REST APIs in browser

Code location:

  • day20_springboot/

##Day 21 – Spring Boot CRUD API

Topics covered:

  • Creating a Spring Boot CRUD application
  • Connecting Spring Boot with MySQL
  • Using Spring Data JPA
  • Implementing layered architecture (Controller, Service, Repository)
  • Building RESTful endpoints

Code location:

-src/day21_springboot_crud/