/Java-Programs

☕ A collection of core Java programs covering OOPs, DSA, patterns, and more. Perfect for beginners, students, and anyone brushing up on Java basics.

Primary LanguageJavaMIT LicenseMIT

License: MIT

Java Logo

☕ From Noob to Ninja

A Complete Learning Journey Through 100+ Java Programs

Status Programs Java Days

GitHub stars GitHub forks License


🎯 Mission Accomplished!

This repository chronicles my 100-day journey mastering Java programming from absolute basics to advanced concepts. Every line of code represents dedication, growth, and the pursuit of becoming a skilled Software Development Engineer.


📋 Table of Contents

🧠 What's Inside

📁 100+ Java Programs organized into comprehensive modules

🟢 Core Fundamentals

  • 📝 Variables & Data Types
  • 🔄 Control Structures
  • 🧩 Method Mastery
  • 🗃️ Arrays & Collections

🟡 Object-Oriented

  • 🏗️ Classes & Objects
  • 🧬 Inheritance & Polymorphism
  • 🛡️ Encapsulation
  • 🧱 Abstraction

🔴 Advanced Concepts

  • ⚠️ Exception Handling
  • 📦 Package Management
  • 🔗 Lambda Expressions
  • 🧬 Generics

🎮 Featured Projects

Project Description Concepts
🎲 Quiz Game Interactive console application Control Flow, Collections
📊 Grade Manager Student management system OOP, File I/O
🧮 Calculator Mathematical operations Methods, Exception Handling
🏦 Bank Simulator Real-world application Advanced OOP, Design Patterns

📚 Topics Covered

🔥 Click to explore all 50+ concepts mastered

🌱 Learning Progression

journey
    title Java Learning Journey
    section Fundamentals
      Hello World     : 5: Day 1
      Variables       : 4: Day 5
      Control Flow    : 3: Day 10
      Arrays         : 4: Day 15
    section OOP
      Classes        : 5: Day 25
      Inheritance    : 4: Day 35
      Polymorphism   : 5: Day 45
    section Advanced
      Exceptions     : 4: Day 65
      Generics       : 5: Day 80
      Lambda         : 5: Day 95
Loading

🟢 Fundamentals (Days 1-20)

  • ✅ Variables & Data Types (Primitive & Reference)
  • ✅ Operators (Arithmetic, Logical, Bitwise)
  • ✅ Input/Output Operations
  • ✅ Control Flow (if-else, switch, loops)
  • ✅ Methods & Parameter passing
  • ✅ Arrays (1D, 2D, Jagged)

🟡 Intermediate (Days 21-60)

  • ✅ Object-Oriented Programming Fundamentals
  • ✅ Classes & Objects
  • ✅ Constructors & Method Overloading
  • ✅ Inheritance & super keyword
  • ✅ Polymorphism (Runtime & Compile-time)
  • ✅ Abstract Classes & Interfaces

🟠 Advanced OOP (Days 41-70)

  • ✅ Packages & Access Modifiers
  • ✅ String Manipulation & StringBuilder
  • ✅ Exception Handling & Custom Exceptions
  • ✅ File I/O Operations
  • ✅ Collections Framework Overview

🔴 Expert Level (Days 71-100)

  • ✅ Generics & Type Safety
  • ✅ Collections Framework (List, Set, Map)
  • ✅ Lambda Expressions & Functional Interfaces
  • ✅ Stream API & Method References
  • ✅ Multithreading Basics
  • ✅ Design Patterns (Singleton, Factory)

🗂️ Repository Structure

🔍 Click to explore the complete folder structure
📦 Java-Programs
├── 📁 01_Basic/                     ← 🌟 Start Here!
│   └── 🧪 Practice-Set/
├── 📁 02_DataTypes/                 ← 🎯 Primitives & Objects
├── 📁 03_Variables/                 ← 🔄 Scope & Lifecycle
├── 📁 04_OperatorsAndExpressions/   ← ➕ Mathematical Operations
│   └── 🧠 PracticeProblem/
├── 📁 05_ControlStatement/          ← 🎮 Logic & Flow Control
│   └── 🎲 QuizGame/                 ← Mini Project!
├── 📁 06_Methods/                   ← 🔧 Reusable Code
│   └── 📊 Practice_Project/         ← Grade Manager
├── 📁 07_ArrayAndString/            ← 📝 Data Structures
├── 📁 08_OOPs/                      ← 🏗️ Object-Oriented Basics
│   ├── 🧱 Abstraction/
│   ├── 🛡️ Encapsulation/
│   └── 🚗 Inheritance/
├── 📁 09_ArrayAndString/            ← 📋 Advanced Collections
│   └── 📋 ArrayList/
├── 📁 10_String/                    ← 🧵 Text Processing
├── 📁 11_OOPs/                      ← 🧬 Advanced OOP
│   ├── 👨‍👩‍👧 inheritance/
│   ├── 🧠 OOPs1/
│   ├── 🧬 OOPs2/
│   └── 🧪 OOPs3/
├── 📁 Exception_Handling/           ← ⚠️ Error Management
├── 📁 LambdaExpression/             ← 🔗 Functional Programming
├── 📁 OOPs/Generics/                ← 🧬 Type Safety
└── 📁 SelfQuestions/                ← 🧠 Challenge Yourself!
    └── 🧪 01_BasicQuestions/

🛠️ Tech Stack

💻 Development Environment


Java 24
OpenJDK

VS Code
Java Extension Pack

Git
Version Control

Windows 11
Development Platform

Java VS Code Git GitHub Windows


⚙️ Quick Start Guide

🚀 Get Started in 3 Steps

1️⃣ Clone

git clone https://github.com/Piyush64-bit/Java-Programs.git
cd Java-Programs

2️⃣ Compile

cd 01_Basic
javac HelloWorld.java

3️⃣ Run

java HelloWorld
💡 Pro Tips & Advanced Commands

🎯 Different Scenarios

Single File Programs:

javac FileName.java && java FileName

Package-based Programs:

# Compile from root directory
javac -d . package/path/ClassName.java

# Run with full package name
java package.path.ClassName

Multiple Classes:

# Compile all files in directory
javac *.java

# Run the main class
java MainClassName

🔧 Useful Shortcuts

# Quick compilation for current directory
find . -name "*.java" -exec javac {} +

# Run with custom classpath
java -cp . com.example.MainClass

# Debug mode
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005 MainClass

🌟 Learning Journey

🎯 My Transformation Timeline

🤔 Day 1

"What's a variable?"

Starting from scratch

💡 Day 50

"I understand OOP!"

Concepts clicking

🚀 Day 80

"Lambda expressions!"

Advanced features

🏆 Day 100

"I'm a Java developer!"

Mission accomplished

💪 What This Journey Taught Me:

🧠 Technical Skills:

  • Problem-solving mindset
  • Clean code practices
  • Debugging expertise
  • Design pattern recognition

🎯 Soft Skills:

  • Persistence and consistency
  • Self-directed learning
  • Documentation importance
  • Community engagement

🏆 Key Milestones Achieved

🎯 Milestone 📅 Day 💭 Reflection
✅ First "Hello World" Day 1 The beginning of everything
✅ First working loop Day 8 Understanding iteration
✅ First custom class Day 25 OOP breakthrough moment
✅ First inheritance Day 35 Code reusability unlocked
✅ Exception handling Day 55 Writing robust code
✅ Lambda expressions Day 85 Modern Java mastery
100th program Day 100 Mission Accomplished!

🎯 Key Achievements

📊 By the Numbers

100+

Programs
Written & Tested

50+

Concepts
Mastered

100

Days
Dedicated Learning

5000+

Lines
Of Code

15+

Projects
Completed

🌟 Standout Programs & Projects

🎮 Interactive Quiz Game

  • Features: Multiple choice questions, scoring system, difficulty levels
  • Concepts: Control flow, collections, user input validation
  • Lines: 200+ lines of well-structured code

📊 Student Grade Manager

  • Features: CRUD operations, file persistence, grade calculations
  • Concepts: OOP design, file I/O, exception handling
  • Lines: 300+ lines with comprehensive error handling

🧮 Advanced Calculator

  • Features: Scientific operations, expression parsing, history
  • Concepts: Method overloading, static methods, string manipulation
  • Lines: 250+ lines with modular design

🏦 Bank Account Simulator

  • Features: Multiple account types, transactions, interest calculation
  • Concepts: Inheritance, polymorphism, encapsulation
  • Lines: 400+ lines demonstrating real-world OOP

🚀 Next Steps

🎯 Ready for the Next Challenge?

🌟 Advanced Java Journey Continues!

Having mastered the fundamentals, it's time to dive into enterprise-level Java development! The journey doesn't stop here—it evolves.

What's Next:

  • 🌐 Web Development with Spring Framework
  • 🗄️ Database Integration with Hibernate & JPA
  • 🔗 RESTful APIs and Microservices
  • 🧪 Testing with JUnit & Mockito
  • 🏗️ Enterprise Patterns and Architecture
  • ☁️ Cloud Deployment and DevOps

📚 Continue Learning


Advanced Java Programs



🚀 Explore Advanced Concepts:

  • Spring Boot Applications
  • RESTful Web Services
  • Database Operations
  • Security Implementation
  • Testing Frameworks

🔗 Start Advanced Java Journey →

🎮 Learning Path Progression

📚 Core Java (✅ COMPLETED)
       ↓
🌐 Advanced Java (🚀 IN PROGRESS)
       ↓
☁️ Full Stack Development (🔜 COMING SOON)

🤝 For Learners

🎓 This Repository is Perfect For:

📚 Beginners

Starting their Java journey from scratch

Zero to Hero path

🔄 Intermediate

Reviewing and strengthening core concepts

Skill reinforcement

🎯 Students

Preparing for interviews or exams

Academic excellence

👨‍💻 Self-learners

Who prefer learning by example

Hands-on approach

🌟 How to Use This Repository:

📖 Learning Path

  1. Start with Basics - Follow numbered folders sequentially
  2. Practice Along - Don't just read, code along!
  3. Modify & Experiment - Change code and observe results
  4. Challenge Yourself - Solve problems before looking at solutions

🚀 Contribution Guidelines

  • 🐛 Found a bug? Open an issue with details
  • 💡 Have a better solution? Submit a pull request
  • 📝 Want to add documentation? We'd love that!
  • Found it helpful? Give it a star!

📬 Connect

🤝 Let's Connect & Build Together!



GitHub
Follow my journey

LinkedIn
Professional network