7854  Reviews star_rate star_rate star_rate star_rate star_half

Introduction to Java Training

This Java training course is intended for students without an extensive programming background. It covers most Java syntax elements, concentrating on fundamental and universally useful elements,...

Read More
$2,625 USD
Course Code INTRO-JAVA
Duration 5 days
Available Formats Classroom

This Java training course is intended for students without an extensive programming background. It covers most Java syntax elements, concentrating on fundamental and universally useful elements, while providing an overview of many more advanced elements. Students will learn to write useful Java classes, applying Object-Oriented concepts such as inheritance, and create Java programs that work with these classes.

  • Early in the class the concept of objects is introduced so that later concepts can be discussed from the perspective of object orientation.

Skills Gained

  • Learn how Java works.
  • Understand the "write once, run anywhere" concept.
  • Understand and learn how to create basic Java objects.
  • Learn how to implement flow-control concepts in Java.
  • Understand Java's package concept and create packages of Java classes.
  • Understand Java arrays and write code to create and use arrays.
  • Learn how to write Java classes using inheritance.
  • Learn how to create and use interfaces.
  • Understand and use the concept of polymorphism in an application
  • Understand how Java's exception-handling mechanism works and learn how to apply exception-handling to Java applications.
  • Understand and use inner classes.
  • Learn how to use elements from the Java API library, including the Collections classes.


  • Experience in the following is required for this Java class: Some prior programming experience in a procedural or object-oriented language.
  • Experience in the following would be useful for this Java class: Knowledge of Object-oriented Analysis and Design (OOAD) is extremely helpful in Java (and other) programming.

Course Details

Course Outline

Java Introduction

  • The Java Environment - Overview
  • Writing a Java Program
  • Obtaining The Java Environment
  • Setting Up Your Java Environment
  • Creating a Class that Can Run as a Program
  • Useful Stuff Necessary to Go Further
  • Using an Integrated Development Environment
  • Running a Simple Java Program
  • Using the Java Documentation

Java Basics

  • Basic Java Syntax
  • Variables
  • Data
  • Constants and the final Keyword
  • Mathematics in Java
  • Creating and Using Methods
  • Variable Scope
  • Method Exercise

Java Objects

  • Objects
  • Object-oriented Languages
  • Object Definition
  • References
  • Defining a Class
  • More on Access Terms
  • Adding Data Members to a Class
  • Standard Practices for Fields and Methods
  • Java Beans
  • Bean Properties
  • Payroll01: Creating an Employee Class
  • Constructors
  • Instantiating Objects Revisited
  • Important Note on Constructors
  • Payroll02: Adding an Employee Constructor
  • Method Overloading
  • Payroll03: Overloading Employee Constructors
  • The this Keyword
  • Using this to Call Another Constructor
  • Payroll04: Using the this Reference
  • static Elements
  • The main Method
  • Payroll05: A static Field in Employee
  • Garbage Collection
  • Java Packages
  • Compiling with Packages
  • Working with Packages
  • Payroll06: Creating an employees Package
  • Variable Argument Lists (varargs)
  • Payroll07: Using KeyboardReader in Payroll
  • Creating Documentation Comments and Using javadoc
  • Payroll08: Creating and Using javadoc Comments
  • Primitives and Wrapper Classes
  • Encapsulation
  • String, StringBuffer, and StringBuilder
  • Compiling and Executing with Packages
  • Object-oriented Programs

Comparisons and Flow Control Structures

  • Boolean-valued Expressions
  • Comparison Operators
  • Comparing Objects
  • Conditional Expression Examples
  • Complex boolean Expressions
  • Simple Branching
  • The if Statement
  • if Statement Examples
  • Payroll-Control01: Modified Payroll
  • Two Mutually Exclusive Branches
  • Comparing a Number of Mutually Exclusive Options - The switch Statement
  • Comparing Two Objects
  • Conditional Expression
  • Payroll-Control02: Payroll with a Loop
  • Additional Loop Control: break and continue
  • Continuing a Loop
  • Classpath, Code Libraries, and Jar Files
  • Creating and Using an External Library
  • Compiling to a Different Directory
  • Conditionals and Loops
  • Game02: A Revised Guessing Game
  • Game01: A Guessing Game
  • Game03: Multiple Levels
  • Game04: Guessing Game with a Loop


  • Defining and Declaring Arrays
  • Instantiating Arrays
  • Initializing Arrays
  • Working with Arrays
  • Enhanced for Loops - the For-Each Loop
  • Array Variables
  • Copying Arrays
  • Using the args Array
  • Arrays of Objects
  • Payroll-Arrays01: An Array of Employees
  • Multi-Dimensional Arrays
  • Multidimensional Arrays in Memory
  • Example - Printing a Picture
  • Typecasting with Arrays of Primitives
  • Java Arrays
  • Game-Arrays01: A Guessing Game with Random Messages


  • Inheritance
  • Payroll with Inheritance
  • Polymorphism
  • Creating a Subclass
  • Inheritance and Access
  • Inheritance and Constructors - the super Keyword
  • Example - Factoring Person Out of Employee
  • Payroll-Inheritance01: Adding Types of Employees
  • Inheritance and Default Superclass Constructors
  • Typecasting with Object References
  • More on Overriding
  • Payroll-Inheritance02: Using the Employee Subclasses
  • Other Inheritance-related Keywords
  • Payroll-Inheritance03: Making Our Base Classes Abstract
  • Methods Inherited from Object
  • Checking an Object’s Type: Using instanceof
  • The Instantiation Process at Runtime
  • Inheritance Example - A Derived Class
  • Inheritance Examples
  • Derived Class Objects
  • Derived Class Methods that Override Base Class Methods
  • Object Typecasting Example
  • Typecasting with Arrays of Objects


  • Interfaces
  • Creating an Interface Definition
  • Implementing Interfaces
  • Reference Variables and Interfaces
  • Interfaces and Inheritance
  • Exercise: Payroll-Interfaces01
  • Some Uses for Interfaces
  • Annotations
  • Using Annotations
  • Annotation Details


  • Exceptions
  • Handling Exceptions
  • Exception Objects
  • Attempting Risky Code - try and catch
  • Guaranteeing Execution of Code - The finally Block
  • Letting an Exception be Thrown to the Method Caller
  • Throwing an Exception
  • Payroll-Exceptions01: Handling NumberFormatException in Payroll
  • Exceptions and Inheritance
  • Creating and Using Your Own Exception Classes
  • Payroll-Exceptions02
  • Rethrowing Exceptions
  • Initializer Blocks
  • Logging
  • Log Properties
  • Assertions


  • Collections
  • Using the Collection Classes
  • Using the Iterator Interface
  • Creating Collectible Classes
  • Generics
  • Bounded Types
  • Extending Generic Classes and Implementing Generic Interfaces
  • Generic Methods
  • Variations on Generics - Wildcards
  • Type Erasure
  • Multiple-bounded Type Parameters
  • Payroll-Collections01: Payroll Using Generics
  • Working with Streams and Lambda expressions
  • Working with Streams and Lambda expressions

Inner Classes

  • Inner Classes, aka Nested Classes
  • Inner Class Syntax
  • Instantiating an Inner Class Instance from within the Enclosing Class
  • Inner Classes Referenced from Outside the Enclosing Class
  • Referencing the Outer Class Instance from the Inner Class Code
  • Better Practices for Working with Inner Classes
  • Enums
  • Inner Classes
  • Method Inner Classes
  • Anonymous Inner Classes