# moazzam56/java architecture

> Architecture diagram of the GitHub repository moazzam56/java, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/moazzam56/java
- Repository: https://github.com/moazzam56/java

## Overview

This repository is a collection of independent Java learning examples, not a single application. Its principal pattern is a small console program that accepts input (or uses fixed sample values), demonstrates a programming concept, and prints a result. The examples progress from basic decisions and loops to object-oriented modeling and behaviors. The sampled files support these individual interactions; there is no shared application entry point or runtime pipeline.

Main entry points: [`LoanEligibilityCheck.java`](https://github.com/moazzam56/java/blob/main/LoanEligibilityCheck.java) (Condition Checks), [`Loops/Forloop/StarPatterns.java`](https://github.com/moazzam56/java/blob/main/Loops/Forloop/StarPatterns.java) (For Loops), [`Loops/WhileLoop/ReverseNumberInput.java`](https://github.com/moazzam56/java/blob/main/Loops/WhileLoop/ReverseNumberInput.java) (While Loops), [`Loops/DoWhileLoop/DigitAnalysis.java`](https://github.com/moazzam56/java/blob/main/Loops/DoWhileLoop/DigitAnalysis.java) (Do-While Loops)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_fundamentals["Java Fundamentals"]
  node_conditions["Condition Checks"]
  node_basic["Basic Programs"]
end

subgraph group_loops["Loop Examples"]
  node_loop_for["For Loops<br/>[StarPatterns.java]"]
  node_loop_while["While Loops"]
  node_loop_do["Do-While Loops<br/>[DigitAnalysis.java]"]
end

subgraph group_objects["Object Modeling"]
  node_class_objects["Classes and Objects<br/>[BankAccount.java]"]
  node_user_objects["Input-Based Objects"]
  node_constructors["Constructors"]
  node_user_constructors["Input Constructors<br/>[Passenger.java]"]
end

subgraph group_oop["OOP Behaviors"]
  node_encapsulation["Encapsulation<br/>[Student.java]"]
  node_inheritance["Inheritance"]
  node_overloading["Method Overloading"]
  node_overriding["Method Overriding<br/>[AI_Assistant.java]"]
end

node_user(("Console User"))
node_console["Console I/O"]

node_user -->|"enters values"| node_conditions
node_conditions -->|"prints decision"| node_console
node_user -->|"enters rows"| node_loop_for
node_loop_for -->|"prints patterns"| node_console
node_user -->|"enters number"| node_loop_while
node_loop_while -->|"prints reversal"| node_console
node_user -->|"enters number"| node_loop_do
node_loop_do -->|"prints digit analysis"| node_console
node_class_objects -->|"prints account data"| node_console
node_user -->|"enters student data"| node_user_objects
node_user_objects -->|"prints student data"| node_console
node_constructors -->|"prints bills"| node_console
node_user -->|"enters passenger data"| node_user_constructors
node_user_constructors -->|"prints security result"| node_console
node_user -->|"enters student data"| node_encapsulation
node_encapsulation -->|"prints student data"| node_console
node_user -->|"selects animal"| node_inheritance
node_inheritance -->|"prints behavior"| node_console
node_user -->|"selects authentication"| node_overloading
node_overloading -->|"prints authentication result"| node_console
node_user -->|"selects AI mode"| node_overriding
node_overriding -->|"prints response"| node_console

click node_conditions "https://github.com/moazzam56/java/blob/main/LoanEligibilityCheck.java"
click node_basic "https://github.com/moazzam56/java/tree/main/Basic"
click node_loop_for "https://github.com/moazzam56/java/blob/main/Loops/Forloop/StarPatterns.java"
click node_loop_while "https://github.com/moazzam56/java/blob/main/Loops/WhileLoop/ReverseNumberInput.java"
click node_loop_do "https://github.com/moazzam56/java/blob/main/Loops/DoWhileLoop/DigitAnalysis.java"
click node_class_objects "https://github.com/moazzam56/java/blob/main/OOP/ClassObjects/BankAccount.java"
click node_user_objects "https://github.com/moazzam56/java/blob/main/OOP/ClassObjects/UserInput/StudentRecordSystem.java"
click node_constructors "https://github.com/moazzam56/java/blob/main/OOP/Constructor/ElectricityBill.java"
click node_user_constructors "https://github.com/moazzam56/java/blob/main/OOP/Constructor/Userinput/Passenger.java"
click node_encapsulation "https://github.com/moazzam56/java/blob/main/OOP/Encapsulation/Student.java"
click node_inheritance "https://github.com/moazzam56/java/blob/main/OOP/Inheritance/Hierarchical_Inheritance.java"
click node_overloading "https://github.com/moazzam56/java/blob/main/OOP/Polymorphism/MethodOverloading/CyberSecuritySystem.java"
click node_overriding "https://github.com/moazzam56/java/blob/main/OOP/Polymorphism/MethodOverriding/AI_Assistant.java"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_conditions,node_basic,node_user toneBlue
class node_loop_for,node_loop_while,node_loop_do toneAmber
class node_class_objects,node_user_objects,node_constructors,node_user_constructors toneMint
class node_encapsulation,node_inheritance,node_overloading,node_overriding toneRose
class node_console toneIndigo
```

## Components

### Java Fundamentals

- [Condition Checks](https://github.com/moazzam56/java/blob/main/LoanEligibilityCheck.java): `LoanEligibilityCheck.java`
- [Basic Programs](https://github.com/moazzam56/java/tree/main/Basic): `Basic`

### Loop Examples

- [For Loops](https://github.com/moazzam56/java/blob/main/Loops/Forloop/StarPatterns.java): `Loops/Forloop/StarPatterns.java`
- [While Loops](https://github.com/moazzam56/java/blob/main/Loops/WhileLoop/ReverseNumberInput.java): `Loops/WhileLoop/ReverseNumberInput.java`
- [Do-While Loops](https://github.com/moazzam56/java/blob/main/Loops/DoWhileLoop/DigitAnalysis.java): `Loops/DoWhileLoop/DigitAnalysis.java`

### Object Modeling

- [Classes and Objects](https://github.com/moazzam56/java/blob/main/OOP/ClassObjects/BankAccount.java): `OOP/ClassObjects/BankAccount.java`
- [Input-Based Objects](https://github.com/moazzam56/java/blob/main/OOP/ClassObjects/UserInput/StudentRecordSystem.java): `OOP/ClassObjects/UserInput/StudentRecordSystem.java`
- [Constructors](https://github.com/moazzam56/java/blob/main/OOP/Constructor/ElectricityBill.java): `OOP/Constructor/ElectricityBill.java`
- [Input Constructors](https://github.com/moazzam56/java/blob/main/OOP/Constructor/Userinput/Passenger.java): `OOP/Constructor/Userinput/Passenger.java`

### OOP Behaviors

- [Encapsulation](https://github.com/moazzam56/java/blob/main/OOP/Encapsulation/Student.java): `OOP/Encapsulation/Student.java`
- [Inheritance](https://github.com/moazzam56/java/blob/main/OOP/Inheritance/Hierarchical_Inheritance.java): `OOP/Inheritance/Hierarchical_Inheritance.java`
- [Method Overloading](https://github.com/moazzam56/java/blob/main/OOP/Polymorphism/MethodOverloading/CyberSecuritySystem.java): `OOP/Polymorphism/MethodOverloading/CyberSecuritySystem.java`
- [Method Overriding](https://github.com/moazzam56/java/blob/main/OOP/Polymorphism/MethodOverriding/AI_Assistant.java): `OOP/Polymorphism/MethodOverriding/AI_Assistant.java`

### Other components

- **Console User**
- **Console I/O**

## Connections

- Console User → Condition Checks: enters values
- Condition Checks → Console I/O: prints decision
- Console User → For Loops: enters rows
- For Loops → Console I/O: prints patterns
- Console User → While Loops: enters number
- While Loops → Console I/O: prints reversal
- Console User → Do-While Loops: enters number
- Do-While Loops → Console I/O: prints digit analysis
- Classes and Objects → Console I/O: prints account data
- Console User → Input-Based Objects: enters student data
- Input-Based Objects → Console I/O: prints student data
- Constructors → Console I/O: prints bills
- Console User → Input Constructors: enters passenger data
- Input Constructors → Console I/O: prints security result
- Console User → Encapsulation: enters student data
- Encapsulation → Console I/O: prints student data
- Console User → Inheritance: selects animal
- Inheritance → Console I/O: prints behavior
- Console User → Method Overloading: selects authentication
- Method Overloading → Console I/O: prints authentication result
- Console User → Method Overriding: selects AI mode
- Method Overriding → Console I/O: prints response
