Java Mentor

Learn from professional

  • Increase font size
  • Default font size
  • Decrease font size
Home Java Programming

Java Programming Training

About Java

History of Java

What is Java?

Why Java?

State of Java today

HelloWorld

Installing and configuring Java Virtual Machine (lab)

Implementing HelloWorld in Java (lab)

Java class/file structure and naming conventions

Java keywords and identifiers

Compiling and running Java programs

Comments in Java code

The main() method

Installing and configuring the Eclipse IDE

Data Types

Declaring and assigning variables

Primitive Java types

Conversion between types

Introduction to arrays and strings

Operators

Arithmetic operators - including shortcut operators

Relational operators

Logical-boolean operators

Bitwise operators

Assignment operators

Additional operators

Operator precedence

Flow Control

Local variable storage: stack

Branching statements: if-else and switch

Loop statements: while and for

Break and continue statements - including labeled

Return statement

Lab: Calculator

Object Oriented Programming

What is OOP?

Why OOP?

Class vs. Object

OOP in Java: classes, fields, objects, methods

Java memory model and garbage collection

Static vs. instance data and methods

Constructors - including constructor and method overloading

Constants

Encapsulation through access modifiers

Lab: BankAccount

Inheritance / in Java

Types and subtypes

Lab: School

Interfaces and abstract classes / in Java

Lab: OOP Calculator

java.lang.Object: super class of them all

Object Equality: equals() and hashCode() methods

Converting objects to strings: toString() method

Lab: Comparing students

Packaging

Reasons for packaging code

Packages and sub-packages in Java

Protecting package namespace

Using packaged code

Protecting packaged code

Java CLASSPATH

Java Archive (JAR)

Lab: Packaging

JavaDoc

Overview of JavaDoc

Java API

Defining and generating JavaDoc

Lab: Documenting Java code

Exception Handling

What are exceptions?

Why exceptions?

Built-in exceptions

Exception life-cycle

Handling exceptions

Throwing exceptions

Exception types: checked vs. unchecked

Creating new exceptions

Grouping and nesting exceptions

Lab: Exceptions

java.lang library (Core Java)

Primitive wrappers

String and StringBuffer/StringBuilder

java.lang.Math

java.lang.System

Multi-threaded programming in Java

java.io library (I/O in Java)

Managing files

Byte and character streams

Filtered streams

Object serialization

java.util library (Collections and Utilities)

Collections Framework

java.util.Collection

java.util.Iterator

java.util.List

java.util.Set

java.util.Queue

java.util.Map

PRNG in Java: java.util.Random

String parsing and matching - including java.util.regex

Date, Calendar, TimeZone

java.net library (Java Networking)

java.net.InetAddress and java.net.NetworkInterface

java.net.URL connections

TCP sockets (java.net.Socket and java.net.ServerSocket)

java.sql library (JDBC)

Overview of JDBC and its drivers

JDBC API: connections, statements, result sets, metadata

Using JDBC: updates, queries

Java 5

Generics

Enhanced for[each] loop

Auto boxing and unboxing

Typesafe enums

Varargs

Static imports

Annotations (metadata)

Design Patterns

What are Design Patterns?

Singleton, Factory Method, Abstract Factory

Adapter, Composite, Decorator

Chain of Responsibility, Observer / Publish-Subscribe, Strategy, Template

Data Access Object (DAO)