Java Tutorial
A Preview of the IT World In
In this section students will be taken through a tour of the IT world. Here they will be looking at how an IT
organization functions and its effect on the lives of millions of people who directly or indirectly are
consumers of IT.
Students will also peek into the building blocks of IT such as Software Development Life Cycle (SDLC),
Project Life Cycle, Testing Methodologies, Estimations and several other blocks.
Various Domains (Business groups) and Horizontals (Functional groups) will also be discussed in this
section where students will get an insight into structure of an IT organization.
Current IT climate and concepts of outsourcing are also briefly discussed in this section.
The never ending applications of Java in IT will be discussed here to make our students realize the
importance and significance of Java.
At the end of this section students will be virtually working for an IT organization as Java developers who
will be acquiring knowledge through Virtual Java Training Classrooms and in turn develop Java programs
for this virtual organization.
First Meeting with Java
In this section students will be taken through an introduction session of Java.
We will discuss about following topics in relation with Java:
2.1 Introduction
Computers... How a Java Program uses Computers?
Java... Why? What? How? When? Where?
How Java is different from other Technologies
Java Technology
Features of Java
Phases of Java Program
2.2 Java Programming Environment
Text Editors
Consoles
Integrated Development Environment
Compilers
A Simple Java Example
Errors - Syntax and Runtime
2.3 Fundamentals of Java Programming
Analysis of a Java Program
Guidelines on Coding
Comments
Statements
Blocks
Identifiers
Keywords
Literals
Primitive Data Types
Variables
Operators
2.4 Software Installation
A detailed step by step procedure of Software installation (JDK and IDE) will be explained in this section.
IDE - Introduction and Assignment
In this section, we will discuss about the Integrated Development Environment we will be using to write and
launch Java Programs.
There are several IDEs available in the Market but we will be concentrating on the most popular and
efficient IDE used Industry-wide i.e. Net Beans.
3.1 Compilation of Java Program
Java Compilers
3.2 Integrated Development Environment
Introduction
Advantages of IDE
Program Compilation
3.3 Net Beans IDE
Introduction
Project Set Up
Source File Generation
Application Compilation and Run
Application Build and Deploy
3.4 Project Modules
Requirements and sample programs will be provided to Students which will equip them to master this
section.
Getting to know the fundamentals of Java
In this section, we will discuss about the Integrated Development Environment we will be using to write and
launch Java Programs.
There are several IDEs available in the Market but we will be concentrating on the most popular and
efficient IDE used Industry-wide i.e. NetBeans.
4.1 Keyboard
Layout of Keyboard
Java program inputs from Keyboard
Methods of Keyboard inputs
Buffered Reader
JOption Pane
Steps to get input from Keyboard
4.2 Control Structures
Working with Control Structures
Types of Control Structures
Decision Control Structure
Repetition Control Structure
Coding Guidelines
Errors, an important part of a Program
Flowcharts
4.3 Java Array
Array Know-How
Array Declaration
Instantiation of an Array
Accessing Array Elements
Length of an Array
Multi-Dimensional Arrays
4.4 Command-Line Arguments
What is a Command-Line Argument?
Java Application with Command-Line Arguments
Conversion of Command-Line Arguments
Coding Guidelines
Passing Command-Line Arguments
4.5 Built-In Java Classes
Introduction to Object Oriented Programming
Encapsulation
Introduction to Classes and Objects
Creation of Object Instance
Methods
Passing Parameters
Variables
Coding Guidelines
Type Casting
Primitives and Wrapper Types
Classes and Objects
5.1 Lang and Util Classes
Math Class
String and StringBuffer Class
Wrapper Classes
Process and Runtime Class
System Class
5.2 Creation of Custom Class
Custom Class Definition
Instance and Static Variables
Methods
Overloading Methods
Constructors
Access Modifiers
5.3 Package and Class path
First look into Packages
Benefits of Packages
Package Creation
Class Import
Package Import
Sources and Class Files Management
First look into Class path
Class path Setting
5.5 Project Modules
Requirements and sample programs will be provided to Students which will equip them to master this
section.
Object Oriented Programming
6.1 Inheritance
A Little knowledge on Inheritance
Sub-Classes
Object Classes
Constructor Calling Chain
The "Super" Keyword
Overriding Methods
Hiding Methods
Type Casting
Final Class and Method
6.2 Abstract Classes and Inheritance
Introduction to Abstract Methods, Abstract Classes and Interface
Interface as a Type
Interface v/s Class
Interface Definition
Interface Implementation
Multiple Interfaces' Implementation
Interfaces' Inheritance
Rewriting an Interface
6.3 Polymorphism
Introduction to Polymorphism
Polymorphic Behaviour in Java
Benefits of Polymorphism
Polymorphism Types
6.4 Project Modules
Requirements and sample programs will be provided to Students which will equip them to master this
section.
Advanced features of Java
7.1 Inner Class
First View of Inner Class
Outer Class Access
Structure of Inner Class
7.2 Exception Handling
Introduction to Exceptions
Effects of Exceptions
Exception Handling Framework
Rules of Exception Handling
Exception class Hierarchy
Custom Exception Class
Assertions
7.3 Logging
Java Logging... What? And Why?
Architecture - Java Logging Framework
Loggers
Handlers
Formatters
Configuration
Performance and Logging
7.4 Garbage Collection
Garbage Collection Introduction
Advantages of Garbage Collection
Garbage Collection Procedure
Java API
7.5 Project Modules
Requirements and sample programs will be provided to Students which will equip them to master this
section.
Collections Framework
8.1 Introduction
Collections Basics
Collection Framework
Benefits
8.2 Interfaces and Implementations
Interfaces
Implementations
Algorithms
8.8 Convenience Implementation
8.9 Abstract Classes
8.10 Algorithms
8.11 Project Modules
Requirements and sample programs will be provided to Students which will equip them to master this
section.
GUI Programming
9.1 Abstract Window Toolkit and Swing
AWT v/s Swing
Layout Manager
Swing GUI Components
9.2 GUI Event Handling
Delegation Event Model
Events
Event Classes
Event Listeners
Adaptor Classes
9.3 Net Beans GUI Builder
Matisse
9.4 Project Modules
Requirements and sample programs will be provided to Students which will equip them to master this
section.
Input/Output
10.1 Java I/O Stream
I/O Stream - Introduction
Types of Streams
Stream Class Hierarchy
Control Flow
Byte Streams
Character Streams
Control Flow
Buffered Streams
Standard I/O Streams
Data Streams
Object Streams
File Class
10.2 Project Modules
Requirements and sample programs will be provided to Students which will equip them to master this
section.
Serialization
11.1 Serialization
Introduction to Serialization
Transient Keyword
Serialization Process
Deserialization Process
Version Control
Creation of Protocols
11.2 Project Modules
Requirements and sample programs will be provided to Students which will equip them to master this
section.
Networking API
12.1 Networking Concepts
IP Address
Protocol
Ports
Client/Server Architecture
Sockets
12.2 Java Networking Architecture
ServerSocket and Socket Class
MulticastSocket and DatagramPacket Class
12.3 Project Modules
Requirements and sample programs will be provided to Students which will equip them to master this
section.
13. Threading Basics
13.1 Introduction
13.2 Thread States and Priorities
13.3 Thread Class
13.4 Runnable Interface Implementation
13.5 Thread Group
13.6 Synchronization
13.7 Interthread Synchronization
13.8 Project Modules
Requirements and sample programs will be provided to Students which will equip them to master this
section.
Review - A Look Back At the Course
In this section we look back at the course and summarize all sections and topics with emphasis on Project
Modules. Here we will also help our Students with several complex Java Programs which will be an ideal
Platform for extended study in Advanced Java.
An elaborate view of the IT world and the role of Java Online Tutorial in it will be discussed in detail.