A collection of Java programs going from beginner basics to advanced concepts β built while strengthening my core Java and DSA foundations alongside my BSCS coursework.
| # | File | Level | Concepts Covered |
|---|---|---|---|
| 1 | HelloWorld.java |
Beginner | Variables, data types, user input (Scanner), if-else |
| 2 | Calculator.java |
BeginnerβIntermediate | Methods, switch-case, loops, exception handling |
| 3 | StudentManagementSystem.java |
Intermediate | OOP (classes & objects), ArrayList, constructors, encapsulation |
| 4 | BankAccountSystem.java |
IntermediateβAdvanced | Abstraction, inheritance, polymorphism, custom exceptions |
| 5 | LibraryManagementSystem.java |
Advanced | Interfaces, generics, HashMap, file I/O |
| 6 | SortingAlgorithms.java |
DSA | Bubble Sort, Insertion Sort, Selection Sort, Merge Sort |
| 7 | LinkedListImplementation.java |
DSA | Custom singly linked list (nodes, add, delete, search, reverse), interactive menu |
| 8 | GraphDijkstra.java |
DSA | Graph (adjacency list), priority queue, Dijkstra's shortest path, interactive menu |
| 9 | MultithreadingDemo.java |
Advanced | Threads, synchronization, wait/notify, producer-consumer pattern, configurable at runtime |
| 10 | SwingCalculatorGUI.java |
Advanced | GUI programming (Java Swing), event-driven code, custom styling |
Each file is a standalone Java program. To run any of them:
javac FileName.java
java FileNameFor example:
javac HelloWorld.java
java HelloWorldNote:
SwingCalculatorGUI.javaopens a graphical window, so it needs to run on a local machine with a display (e.g. via an IDE like IntelliJ or from a local terminal) β it won't run on headless online compilers.
This repo is a running log of my Java learning journey β starting from core syntax and working up through OOP, data structures, algorithms, and GUI programming. More files (database connectivity and more advanced DSA) will be added as I progress.
- Language: Java
- JDK: 8+
Areej β BSCS Student, COMSATS University Islamabad (Lahore Campus) GitHub: areej-builds