This repository contains all the code, projects, and problem-solving exercises completed as part of the 5th Semester Java Skill Development Program. The program is a comprehensive, 24-unit curriculum designed to build a strong foundation in Java programming, from basic syntax to advanced Object-Oriented Programming (OOP) and modern Java features.
The primary goal of this course was to bridge the gap between theoretical knowledge and practical application. Upon completion, the key objectives were to:
- Master Java's fundamental syntax, operators, and control flow.
- Design and implement applications using core Object-Oriented Programming (OOP) principles.
- Effectively manage data using Arrays, Strings, and the Java Collections framework.
- Build robust, professional-grade applications by implementing Exception Handling.
- Utilize modern Java features, including Lambda Expressions and Streams.
This repository demonstrates practical application of the following Java technologies and programming concepts:
- Core Java: Syntax, variables, operators, and control flow.
- Object-Oriented Programming (OOP):
- Classes and Objects
- Constructors &
staticmembers - Inheritance (Single & Multilevel)
- Polymorphism (Method Overloading & Overriding)
- Abstraction (Abstract Classes & Interfaces)
- Data Structures & APIs:
- Java Arrays (Single and Multi-dimensional)
- The
StringAPI - The Java Collections Framework (Lists, Sets, Maps)
- Robust Programming:
- Exception Handling (
try-catchblocks)
- Exception Handling (
- Modern Java:
- Lambda Expressions
- The Streams API
The course was structured into the following modules, each with practical programming assignments.
- Description: This section covered the basics of Java. It started with syntax, moved to operators and expressions, and concluded with logical constructs like
if-else(Conditional Statements) and loops (Control Statements). - Example Problems:
- Super Quiz Bee: A logic problem to find the absolute difference between the first and last digit of a number.
- "SoftCompInfo" Encryption: A program to sum the non-prime digits in a number to create an encryption key.
- Description: This module introduced the fundamental concepts of OOP. We learned to design blueprints using Classes and Objects, initialize them with Constructors, and build relationships using Inheritance.
- Example Problems:
- Employee Data Management: A program demonstrating encapsulation using
privatevariables andgetter/settermethods. - Shape Calculator: A program that uses constructor overloading to calculate the area of different shapes (Cube, Sphere, Cylinder).
- Student/Graduate Tracker: A program demonstrating multilevel inheritance (
Person->Student->Graduate).
- Employee Data Management: A program demonstrating encapsulation using
- Description: This module focused on the advanced pillars of OOP. We implemented Polymorphism (both method overloading and overriding) and designed flexible contracts using Abstract Classes and Interfaces.
- Example Problems:
- Employee/Manager Bonus: A classic example of method overriding, where a
Managersubclass provides a different bonus calculation than theEmployeesuperclass. - Bank Maintenance Charge: A program using an
Interface(MaintenanceCharge) to forceSavingsAccountandCurrentAccountclasses to implement their own fee calculation logic. - Bank Interest Calculator: Demonstrates method overloading by creating multiple
getInterestRate()methods with different parameter types.
- Employee/Manager Bonus: A classic example of method overriding, where a
- Description: The final module covered essential tools for managing data and writing modern code. We worked with Arrays, Strings, and the Collections framework. We also learned to write robust code with Exception Handling and efficient code with Lambdas and Streams.
- Example Problems:
- Relay Race Score: An array manipulation problem to find the product of all elements except the current one, without using division.
- Spiral Matrix: A 2D array problem to traverse a matrix in a spiral pattern.
- (Problems for Exception Handling, Collections, and Lambdas would also be included here as they are completed.)
All programs in this repository are written in standard Java. To compile and run any of the source files, you will need the Java Development Kit (JDK) installed.
-
Clone the repository:
git clone [URL_TO_YOUR_REPOSITORY]
-
Navigate to the directory:
cd [REPOSITORY_DIRECTORY] -
Compile the Java file: Open your terminal and use the
javaccompiler.# Example for one of the programs javac EmployeeBonus.java -
Run the compiled class: Use the
javacommand to execute the compiled bytecode.# Note: Do not include the .java or .class extension java EmployeeBonus -
Follow the on-screen prompts to provide any required input.