Course Syllabus – Core Java
Topics:
1)Fundamentals of Object Oriented Programming
2)Java evolution
3)Overview of language
4)Data types, constants
5)Operators
6)Decision Making and branching
7)Looping
8)OOPS
9)Classes,objects,methods
10)Encapsulation
11)Polymorphysm
12)Abstraction
13)Inheritence
14)Accepting input from the user
15)Interfaces
16)Arrays
17)Strings
18)Constructors and destructors
19)Garbage Collection
20)Packages
21)Multi threading(if required)
22)enum in java
23)Errors and Exceptions
24)Collections
25)Command Line Arguments
26)Inner Classes
27)static and initializer blocks
28)I/O Streams
Course Content in detail:
Introduction to java
- History of java
- Features of java
- Modules in java
- Java API
- Concepts of JDK,JSL,JRE
- How java Works
- Installation of JDK
- Set up path and class path
- Structure of java program
- Design, Compile and execute first java program through command prompt
- Analysing the output in command prompt
Introduction to IDE:
-
- What is IDE
- Purpose of IDE
- Different IDE’s in the market
- Benefits of using IDE
- Installing IDE
- Creating java project in IDE
- Creating package, class in IDE
- Designing and executing a java program in IDE
- Analyse the results in console
Data types
- What is a data type
- Types
- Differences among different data types
- Variables and constants in java
- What is a variable
- Instance or non static variables
- static variables
- final variables
- local variables
- What is a constant
- How to convert a variable into constant
Comments in java
-
- What is a comment
- Single line comments
- Multiline comments
Operators
- Arithmetic Operator
- Relational Operator
- Incrementation Operator
- Decrementation Operator
- Logical Operator
- Assignment Operator
- Conditional or ternary Operator
- Bitwise Operator
- Instanceof Operator
Decision making and branching
-
- if
- if-else
- if-else ladder
- Nested if
- switch keyword
Looping
-
- for loop
- while loop
- do-while loop
- Nested loops
- break keyword
- continue keyword
- goto keyword
Methods in java
-
- What is a method
- Types
- Parameterless methods
- Parameterized methods
- Parameter passing techniques to a method
Object Oriented programming Language
-
- What is OOPS
- Relation between java and OOPS
- What is a class
- What is an object
- Examples of classes and objects
Naming conventions in java
-
- What is naming convention
- Conventions for class
- Conventions for methods
- Conventions for keywords
Pillars of java
-
- Encapsulation
- Polymorphism
- Method Overloading
- Method Overriding
- Inheritance
- Single
- Hierarchical
- Multi level
- Multiple
- Hybrid
- Abstraction
Constructors
-
- What is a constructors
- Purpose of it
- Default constructors
- Parameterless constructors
- Parameterized constructors
- Overloaded constructors
- this keyword
- super keyword
- Field shadowing
Destructors
-
- What is a destructor
- What is garbage Collection
- How to implement destructor concept in java
How to accept input from the user
-
- Scanner class
- BufferedReader class
- DataInputStream class
Arrays
-
- What is an array
- Purpose of an array
- 1D and 2D arrays
- Enhanced for loop/for each loop
Command Line Arguments
-
- What are Command Line Arguments
- Purpose of Command Line Arguments
- How to execute program by passing Command Line Arguments
Strings
-
- What is a String
- Purpose of using String
- String Tokenizer
- split method
- StringBuffer and StringBuilder classes
Interfaces
-
- Problems with multiple inheritance
- What is an interface
- Purpose of an interface
- Dynamic method dispatch
- How interfaces supports multiple inheritance
- Extending interfaces
enum keyword
-
- What is enum
- Purpose of it
- Advantages of using enum keyword
Packages
-
- What is a package
- Purpose of using packages
- Advantages
- How to create a package and how to use the classes under a package
- How to avoid naming collisions using packages
- Access specifiers
- Sub packages
MultiThreading
-
- What is a thread
- How to run multiple pieces of codes simultaneously using threads
- Different methods in thread class
- Creating threads by using Thread class
- Creating threads by using Runnable interface
- Synchronization
- Synchronized methods
- Synchronized blocks
- Types of locks
- Purpose of join method
- Thread priority
- Inter thread communication
Exception handling
-
- What is an exception
- How to handle exceptions
- try keyword
- catch keyword
throw keyword
-
- throws keyword
- finally keyword
- Types of exceptions
- Checked exceptions
- Unchecked exceptions
- Custom exceptions
Collection framework
Disadvantages with the arrays
-
- What is a collection
- Purpose of using collections
- Types of collection
- Different classes and interfaces in collection framework
- What are Wrapper classes
- What is an iterator
- Types of iterators
- Normal iterator
- List iterator
- Enumeration
- Generics in collections
- Type diamond rule or Diamond operator
Annotations
-
- What is an annotation
- Benefits of using annotations is our program
- Types of annotations
I/O Streams
-
- What is a stream
- Working with files
- What is Serialization
- What is Deserialization
- What is transient keyword
- What is marker interface
- instanceof operator
Destructors
Garbage Collector
Static blocks
Initializer blocks