Overview
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. The class files and exercises are based on
Java 1.7 or higher.
If you have a lot of
object-oriented programming experience in a language such as C# or C++, you may
want to consider our Java Programming Training for Experienced Programmers
class instead.
Class Prerequisites
Experience in the following is
required for this Java Fundamentals class:
Some prior programming experience in a procedural or
object-oriented language.
Experience in the following would
be useful for this Java Fundamentals class:
Knowledge of Object-oriented Analysis and Design (OOAD) is
extremely helpful in Java (and other) programming. We recommend learning OOAD,
but you can do so at any stage of your learning. It will make you a better
programmer, especially in a team environment.
Prerequisite Courses
Courses that can help you meet
these prerequisites:
Object-Oriented
Analysis and Design (OOAD) Training with UML
Goals
1. Learn
how Java works.
2. Understand
the "write once, run anywhere" concept.
3. Understand
and learn how to create basic Java objects.
4. Learn
how to implement flow-control concepts in Java.
5. Understand
Java's package concept and create packages of Java classes.
6. Understand
Java arrays and write code to create and use arrays.
7. Learn
how to write Java classes using inheritance.
8. Learn
how to create and use interfaces.
9. Understand
and use the concept of polymorphism in an application
10.
Understand how Java's exception-handling mechanism works and
learn how to apply exception-handling to Java applications.
11.
Understand and use inner classes.
12.
Learn how to use elements from the Java API library, including
the Collections classes.
Outline
1. Java
Introduction
1. The
Java Environment - Overview
2. Writing
a Java Program
3. Obtaining
The Java Environment
4. Setting
up your Java Environment
5. Creating
a Class That Can Run as a Program
1. The
main() Method
6. Useful
Stuff Necessary to go Further
1. System.out.println()
7. Using
the Java Documentation
2. Java
Basics
1. Basic
Java Syntax
1. General
Syntax Rules
2. Java
Statements
3. Blocks
of Code
4. Comments
5. Variables
2. Data
1. Primitive
Data Types
2. Object
Data Types
3. Literal
Values
4. Constants
and the final keyword
3. Mathematics
in Java
1. Expressions
2. Operator
Precedence
3. Multiple
Assignments
4. Order
of Evaluation
5. Bitwise
Operators
6. Compound
Operators
7. Expressions
that Mix Data Types: Typecasting
4. Creating
and Using Methods
1. Creating
Methods
2. Variable
Scope
3. Java
Objects
1. Objects
1. Object-Oriented
Languages
2. Object-Oriented
Programs
3. Encapsulation
4. Creating
and Using an Instance of an Object
5. References
6. Defining
a Class
7. Java
Beans
8. Constructors
9. Method
Overloading
10.
The this
Keyword
11.
static Elements
12.
Garbage Collection
13.
Java Packages
14.
Dealing with Keyboard Input
2. String, StringBuffer, and StringBuilder
3. Creating
Documentation Comments and Using javadoc
1. Javadoc
Comments
4. Comparisons
And Flow Control Structures
1. Controlling
Program Flow
1. Boolean-Valued
Expressions
2. Complex
boolean Expressions
3. Simple
Branching
4. Two
Mutually Exclusive Branches
5. Nestedif... elseStatements - Comparing a Number
of Mutually Exclusive Options
6. Comparing
a Number of Mutually Exclusive Options - The switch Statement
7. Comparing
Objects
8. Conditional
Expression
9. while and do. . .while Loops
10.
for Loops
2. Additional
Loop Control: break and continue
1. Breaking
Out of a Loop
2. Continuing
a Loop
3. Classpath,
Code Libraries, and Jar files
1. Using
CLASSPATH
2. Creating
a jar File (a Library)
5. Arrays
1. Arrays
1. Defining
and Declaring Arrays
2. Instantiating
Arrays
3. Initializing
Arrays
4. Working
With Arrays
5. Array
Variables
6. Copying
Arrays
7. Arrays
of Objects
2. Enhanced
for Loops - the For-Each
Loop
3. Multi-Dimensional
Arrays
1. Multidimensional
Arrays in Memory
2. Example
- Printing a Picture
4. Typecasting
with Arrays of Primitives
6. Inheritance
1. Inheritance
1. Payroll
with Inheritance
2. Derived
Class Objects
2. Polymorphism
1. Inheritance
and References
2. Dynamic
Method Invocation
3. Creating
a Derived Class
1. Inheritance
and Access
2. Inheritance
and Constructors - the super
Keyword
3. Derived
Class Methods That Override Base Class Methods
4. Inheritance
and Default Base Class Constructors
5. The
Instantiation Process at Runtime
4. Example
- Factoring Person Out of Employee and Dependent
5. Typecasting
with Object References
1. Typecasting,
Polymorphism, and Dynamic Method Invocation
2. More
on Overriding
3. Object
Typecasting Example
4. Checking
an Object's Type: Using instanceof
5. Typecasting
with Arrays of Objects
6. Other
Inheritance-Related Keywords
1. abstract
2. final
7. Methods
Inherited from Object
7. Interfaces
1. Interfaces
2. Creating
an Interface Definition
3. Implementing
Interfaces
1. Implementing
Interfaces - Example
4. Reference
Variables and Interfaces
1. Calling
an Interface Method
5. Interfaces
and Inheritance
6. Some
Uses for Interfaces
1. Interfaces
and Event-Handling
2. Interfaces
and "Pluggable Components"
8. Exceptions
1. Exceptions
1. Handling
Exceptions
2. Exception
Objects
2. Attempting
Risky Code - try and catch
3. Guaranteeing
Execution of Code - the finally
Block
4. Letting
an Exception be Thrown to the Method Caller
5. Throwing
an Exception
6. Exceptions
and Inheritance
1. Exception Class Constructors and Methods
7. Creating
and Using Your Own Exception Classes
8. Rethrowing
Exceptions
9. Initializer
Blocks
1. Static
Initializer Blocks
2. Assertions
9. Generics
and Collections
1. Fundamental
Collections: Sets, Lists, and Maps
2. Iterators
3. Creating
Collectible Classes
1. hashCode
and equals
2. Comparable
and Comparators
4. Generics
1. Basic
Generics Syntax
2. Bounded
Types and Wildcards
10.
Inner Classes
1. Inner
Classes, aka Nested Classes
1. Inner
Class Syntax
2. Instantiating
an Inner Class Instance from Within the Enclosing Class
3. Inner
Classes Referenced from Outside the Enclosing Class
4. Working
with Inner Classes