1. Introduction to Java

  • Overview

    • History and Evolution of Java

    • Key Features of Java (Object-Oriented, Platform Independent, etc.)

  • Java Editions

    • Java Standard Edition (JSE)

    • Java Enterprise Edition (JEE)

    • Java Micro Edition (JME

  • Java Terminologies

    • JVM (Java Virtual Machine)

    • JRE (Java Runtime Environment)

    • JDK (Java Development Kit)

  • Setting Up the Environment

    • Installing JDK

    • Configuring Environment Variables (PATH and CLASSPATH)

    • Using IDEs (Eclipse, IntelliJ IDEA, NetBeans)

2. Basics of Java Programming

  • First Java Program

    • Writing and Compiling a Simple Program

    • Structure of a Java Program

  • Java Syntax

    • Keywords and Identifiers

    • Comments (Single-line, Multi-line, Javadoc)

  • Data Types and Variables

    • Primitive Data Types (int, float, char, boolean, etc.)

    • Non-Primitive Data Types (Arrays, Strings, Objects)

    • Variable Declaration and Initialization

  • Type Casting

    • Implicit Type Casting

    • Explicit Type Casting

  • Input/Output

    • Using Scanner Class

    • Using BufferedReader

    • Printing Output with System.out.println()



3. Operators and Control Statements

  • Operators

    • Arithmetic Operators

    • Relational and Logical Operators

    • Bitwise Operators

    • Unary and Assignment Operators

    • Ternary Operator

  • Control Flow Statements

    • Conditional Statements (if, if-else, switch-case)

    • Loops (for, while, do-while)

    • Jump Statements (break, continue, return)

4. Arrays and Strings

  • Arrays

    • Declaring and Initializing Arrays

    • One-Dimensional Arrays

    • Multi-Dimensional Arrays

    • Array Methods and Traversing Techniques

  • Strings

    • Creating Strings

    • Common Methods (length(), charAt(), substring(), etc.)

    • StringBuffer and StringBuilder

    • String Manipulations and Comparisons

5. Object-Oriented Programming (OOP)

  • Core Concepts

    • Class and Object

    • Methods and Method Overloading

    • Constructor and Constructor Overloading

  • Inheritance

    • Single, Multilevel, and Hierarchical Inheritance

    • super Keyword

    • Method Overriding

  • Polymorphism

    • Compile-Time Polymorphism

    • Runtime Polymorphism

  • Encapsulation

    • Access Modifiers

    • Getters and Setters

  • Abstraction

    • Abstract Classes

    • Interfaces

    • Functional Interfaces (Java 8)

6. Exception Handling

  • Exception Hierarchy

    • Checked and Unchecked Exceptions

  • Handling Exceptions

    • try-catch Blocks

    • finally Clause

    • Throwing Exceptions with throw

    • Declaring Exceptions with throws

  • Creating Custom Exceptions

7. Packages and Access Modifiers

  • Introduction to Packages

    • Built-in Packages (java.util, java.io, etc.)

    • User-Defined Packages

  • Importing Classes

    • Using import Keyword

    • Static Imports

  • Access Modifiers

    • public, private, protected, and Default



8. Java Collections Framework

  • Introduction

    • Collections vs Arrays

    • Key Interfaces (List, Set, Map, Queue)

  • List Implementations

    • ArrayList

    • LinkedList

    • Vector and Stack

  • Set Implementations

    • HashSet

    • LinkedHashSet

    • TreeSet

  • Map Implementations

    • HashMap

    • LinkedHashMap

    • TreeMap

  • Iterators

    • Iterator

    • ListIterator

9. Multithreading

  • Thread Basics

    • Creating Threads (Extending Thread Class, Implementing Runnable Interface)

    • Thread Lifecycle

  • Synchronization

    • Synchronized Methods and Blocks

    • Inter-thread Communication (wait(), notify(), notifyAll())

  • Thread Management

    • Priority and Daemon Threads

    • Avoiding Deadlocks

10. File Handling in Java

  • Streams Overview

    • Byte Streams vs Character Streams

  • Reading and Writing Files

    • FileReader and FileWriter

    • BufferedReader and BufferedWriter

  • Serialization

    • ObjectInputStream and ObjectOutputStream

    • Serializing and Deserializing Objects

11. Advanced Java Concepts

  • Generics

    • Advantages of Generics

    • Generic Classes and Methods

  • Lambda Expressions (Java 8)

    • Syntax and Use Cases

    • Functional Interfaces and Method References

  • Annotations

    • Built-in Annotations (@Override, @Deprecated, etc.)

    • Custom Annotations

  • Stream API (Java 8)

    • Operations (map, filter, reduce, etc.)

    • Parallel Streams

12. GUI Programming

  • Introduction to GUI

    • AWT Basics

    • Swing Framework

  • Swing Components

    • JFrame, JPanel, JButton, JLabel

    • Event Handling (ActionListener, MouseListener, etc.)

  • Layout Managers

    • FlowLayout, BorderLayout, GridLayout


Core Java

Duration: 45 days