An open API service indexing awesome lists of open source software.

https://github.com/kratugautam99/java-learning

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.
https://github.com/kratugautam99/java-learning

3rd-generation abstraction advance-java app-analytics app-development compiler-design data-structures-and-algorithms encapsulation inheritance intellij-idea java-collections-framework java-desktop-application java-development-kit java-docs java-runtime-enviroment javafx object-oriented-programming polymorphism switch-case-construct

Last synced: about 2 months ago
JSON representation

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.

Awesome Lists containing this project

README

          

# β˜• Java-Learning

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

---

## πŸ“– Table of Contents

- [✨ What’s Inside](#✨-what’s-inside)
- [πŸ› οΈ Features & Topics Covered](#πŸ› οΈ-features--topics-covered)
- [πŸ“‚ Project Structure](#πŸ“‚-project-structure)
- [πŸš€ Getting Started](#πŸš€-getting-started)
- [βš™οΈ Build & Run](#βš™οΈ-build--run)
- [πŸ“ Notes & Documentation](#πŸ“-notes--documentation)
- [🀝 Contributing](#🀝-contributing)
- [πŸ“œ License](#πŸ“œ-license)

---

## ✨ 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

```text
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](https://www.jetbrains.com/idea/) or Eclipse (optional)
- Git (for cloning)

### Clone & Open

```bash
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

```bash
# 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:
```bash
git checkout -b feature/my-java-module
```
3. Commit your changes:
```bash
git commit -m "Add Graph traversal examples"
```
4. Push & open a PR

Please follow our [Code of Conduct](https://opensource.org/code-of-conduct).

---

## πŸ“œ License

Distributed under the **MIT License**. See [LICENSE](LICENSE) for details.

---

**Topics**: `java dsa algorithms data-structures object-oriented-design app-development educational-resources`