Java Programming for Experienced Programmers Training

Answers to Popular Questions:

Yes, this class can be tailored to meet your specific training needs.
Yes, we provide Java Programming consulting services.
Yes, group discounts are provided.

Course Description

This Java training course is intended for students with experience in a procedural or object-oriented language. It covers most Java syntax elements, including recent additions such as Generics and AutoBoxing. In addition to the fundamental library classes that would be needed in any Java program, it also covers several other important APIs, including Collections and Streams. The class introduces the concept of objects as one of the first topics, in order that the later concepts are covered with an OO perspective. The material is based on Java 5 and 6, but most concepts would apply in 1.4 as well.
Course Length: 5 Days
Course Tuition: $2090 (US)


If you are new to object-oriented programming, you should take our Introduction to Java for New Programmers class instead.

Course Outline


Class Goals

    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 the Java Logging API.
    Understand and use inner classes.
    Understand Generics and use them with the Collections API.
    Learn about Java's Streams concept, and how to appy that to files using text and binary data.
    Create and run JUnit tests for Java classes.

Class Outline

    Java Introduction
        Conventions in These Notes
        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
            The main() Method
        Useful Stuff Necessary to go Further
        Using the Java Documentation
    Java Basics
        Basic Java Syntax
            General Syntax Rules
            Java Statements
            Blocks of Code
            Primitive Data Types
            Object Data Types
            Literal Values
            Constants and the final keyword
        Mathematics in Java
            Operator Precedence
            Multiple Assignments
            Order of Evaluation
            Bitwise Operators
            Compound Operators
            Expressions that Mix Data Types: Typecasting
        Creating and Using Methods
            Creating Methods
            Variable Scope
    Java Objects
            Object-Oriented Languages
            Object-Oriented Programs
            Creating and Using an Instance of an Object
            Defining a Class
            Java Beans
            Method Overloading
            The this Keyword
            static Elements
            Garbage Collection
            Java Packages
            Dealing with Keyboard Input
        String, StringBuffer, and StringBuilder
        Creating Documentation Comments and Using javadoc
            Javadoc Comments
    Comparisons And Flow Control Structures
        Controlling Program Flow
            Boolean-Valued Expressions
            Complex boolean Expressions
            Simple Branching
            Two Mutually Exclusive Branches
            Nestedif... elseStatements - Comparing a Number of MutuallyExclusive Options
            Comparing a Number of Mutually ExclusiveOptions - The switchStatement
            Comparing Objects
            Conditional Expression
            while and do. . .while Loops
            for Loops
        Additional Loop Control: break and continue
            Breaking Out of a Loop
            Continuing a Loop
        Classpath, Code Libraries, and Jar files
            Using CLASSPATH
            Creating a jar File (a Library)
            Defining and Declaring Arrays
            Instantiating Arrays
            Initializing Arrays
            Working With Arrays
            Array Variables
            Copying Arrays
            Arrays of Objects
        Enhanced for Loops - the For-Each Loop
        Multi-Dimensional Arrays
            Multidimensional Arrays in Memory
            Example - Printing a Picture
        Typecasting with Arrays of Primitives
            Payroll with Inheritance
            Derived Class Objects
            Inheritance and References
            Dynamic Method Invocation
        Creating a Derived Class
            Inheritance and Access
            Inheritance and Constructors - the super Keyword
            Derived Class Methods That Override Base Class Methods
            Inheritance and Default Base Class Constructors
            The Instantiation Process at Runtime
        Example - Factoring Person Out of Employee and Dependent
        Typecasting with Object References
            Typecasting, Polymorphism, and Dynamic Method Invocation
            More on Overriding
            Object Typecasting Example
            Checking an Object's Type: Using instanceof
            Typecasting with Arrays of Objects
        Other Inheritance-Related Keywords
        Methods Inherited from Object
        Creating an Interface Definition
        Implementing Interfaces
            Implementing Interfaces - Example
        Reference Variables and Interfaces
            Calling an Interface Method
        Interfaces and Inheritance
        Some Uses for Interfaces
            Interfaces and Event-Handling
            Interfaces and "Pluggable Components"
            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
        Exceptions and Inheritance
            Exception Class Constructors and Methods
        Creating and Using Your Own Exception Classes
        Rethrowing Exceptions
        Initializer Blocks
            Static Initializer Blocks
    Generics and Collections
        Fundamental Collections: Sets, Lists, and Maps
        Creating Collectible Classes
            hashCode and equals
            Comparable and Comparators
            Basic Generics Syntax
            Bounded Types and Wildcards
        Advanced Topics
            Type Erasure
            instanceof Tests
            Multiple-Bounded Types
    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
            Working with Inner Classes
        Introducing Streams
            Input Stream Clases
            Output Stream Classes
        Files and Directories
            Filename Filters
            Creating a Directory Listing
        Files and Streams
            Writing to a File
            Creating a File Copying Program
        Working with Binary Data
            Object Serialization
        Properties and Properties Files
    Unit Testing
        Software Testing Concepts
        Unit Testing
        Using JUnit
            Creating a Test Case

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.