Skip to content

Java-Learning is a personal repository by Kratu Gautam chronicling the journey of learning core Java concepts for applications in data structures, algorithms, and app development. Structured under the src/Kratu/company directory, it contains organized Java programs and project scaffolding alongside notes and documentation.

Notifications You must be signed in to change notification settings

Kratugautam99/Java-Learning

Repository files navigation

β˜• Java-Learning

A hands-on journey through Java fundamentals, Data Structures & Algorithms, and real-world app development.


πŸ“– Table of Contents


✨ What’s Inside

Java-Learning is my personal codebase for mastering core Java conceptsβ€”from object-oriented principles to algorithmic problem solving and app scaffolding. Each module lives alongside samples and exercises so you can follow the same learning path, experiment with code, and build confidence.


πŸ› οΈ Features & Topics Covered

  • ☝️ Core Java: Syntax, OOP pillars (Encapsulation, Inheritance, Polymorphism, Abstraction), exceptions
  • πŸ”„ Data Structures & Algorithms: Arrays, Lists, Stacks, Queues, Trees, Graphs, Sorting & Searching
  • πŸ—οΈ Design Patterns: Singleton, Factory, Observer, Strategy
  • 🌐 App Foundations: Project scaffolding, package organization, build scripts
  • 🧩 Hands-On Exercises: Leetcode-style challenges with runnable code
  • πŸ“š Documentation: Inline comments, design notes, and conceptual write-ups

πŸ“‚ Project Structure

Java-Learning/
β”œβ”€β”€ .idea/                            # IntelliJ project configs
β”œβ”€β”€ CustomDocs/                       # Design docs, diagrams & study guides
β”œβ”€β”€ src/
β”‚   └── Kratu/company/                # Core Java packages & classes
β”œβ”€β”€ JavaLearning.iml                  # IDE module file
β”œβ”€β”€ Java_Complete_Notes.7z            # Comprehensive offline notes archive
β”œβ”€β”€ .gitignore                        # Files & folders to exclude from Git
└── README.md                         # This overview

πŸš€ Getting Started

Prerequisites

  • Java JDK 11 or higher
  • IntelliJ IDEA or Eclipse (optional)
  • Git (for cloning)

Clone & Open

git clone https://github.com/Kratugautam99/Java-Learning.git
cd Java-Learning
  • IntelliJ/Eclipse: Import the project as a Maven/Gradle module or open the existing .iml.
  • Command Line: Compile and run via javac/java (see below).

βš™οΈ Build & Run

Via IDE

  1. Open src/Kratu/company in your IDE.
  2. Right-click any *.java file with a main() method.
  3. Select Run to execute.

Via Command Line

# Compile all classes
javac -d out src/Kratu/company/**/*.java

# Run a specific program (example: Main)
java -cp out Kratu.company.Main

πŸ“ Notes & Documentation

  • CustomDocs/ houses design diagrams, UML sketches, and deeper concept write-ups.
  • Java_Complete_Notes.7z contains my full set of study notesβ€”extract locally to review them offline.

🀝 Contributing

Love Java, DSA, or have a pattern to share? Fork this repo, add your module or docs, and open a PR:

  1. Fork & clone
  2. Create a branch:
    git checkout -b feature/my-java-module
  3. Commit your changes:
    git commit -m "Add Graph traversal examples"
  4. Push & open a PR

Please follow our Code of Conduct.


πŸ“œ License

Distributed under the MIT License. See LICENSE for details.


About

Java-Learning is a personal repository by Kratu Gautam chronicling the journey of learning core Java concepts for applications in data structures, algorithms, and app development. Structured under the src/Kratu/company directory, it contains organized Java programs and project scaffolding alongside notes and documentation.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published