Java for Programmers
Synopsis
This course is aimed at delegates who are considering or are moving into developing business applications using Java, along with delegates who are preparing for the Sun Certified Java Programmer certification examination.
Course Outline
Delegates will learn how to:
- Use the Java SDK to create and run Java applications
- Use the Java collection classes
- Define Java classes and create objects
- Use inheritance and polymorphism to create hierarchies of classes
- Use the Java input and output classes
- Use the new Java language features introduced in J2SE versions 5 and 6
Prerequisites
- Delegates should have experience of programming in a contemporary programming language.
Publicly scheduled dates, locations, and prices
A schedule of dates for this course is not currently available. Please call 0800 651 0338 or use our contact form to enquire about places and availability.
Contents
Introduction to Java
- What is Java?
- Java architecture
- The Java SDK and JRE
- Compiling and running Java programs
- Basic types
- Operators
- Methods and blocks
- Comments
- Decision making: if and switch
- Looping: for, while, and do-while loops
Using Objects
- Overview of OO concepts
- Classes vs. primitive types
- Creating objects
- Invoking methods
- Passing parameters and using return values
- Garbage collection
Error Handling
- Exceptions
- Throwable and the Exception classes
- try/catch
- Chaining catch statements
- The finally block
- Throwing exceptions
- Propagating exceptions
- Defining your own exceptions
- Assertions
The Java Standard Library
- Tour of the Java 2 Standard Edition library
- Overview of the Object class
- Using String and StringBuffer classes
- Using the Java wrapper classes
- Auto-boxing
Creating Classes
- Defining instance methods and variables
- The 'this' keyword
- Defining and calling constructors
- final fields
- Accessor and mutator methods
- Variable argument lists
- Comparing objects
- Defining static methods and variables
- Static initializers
- Using javadoc
Inheritance, Interfaces and Abstract Classes
- Inheritance
- The 'protected' accessibility specifier
- Overriding methods
- Working with superclasses
- The 'final' modifier
- Polymorphism
- The Object class
- Cloning objects
- Casting and 'instanceof'
- Abstract classes and methods
- Defining and using interfaces
Packaging and Deployment
- The classpath
- Creating and using packages
- Static imports
- Using JAR files
Collections
- Arrays
- Generics
- Overview of J2SE collection classes
- List collections
- Iterators and the for statement
- Set collections
- Map collections
- Comparators and Comparable
Java I/O
- Streams, readers, and writers
- File and directory operations
- Reading and writing to a file
- Reading from the console
- Using filter classes
- Object serialization
Annotations
- Using standard annotations
- Creating custom annotations
- apt
Threading
- Introduction to threads
- Thread and Runnable
- Thread termination
- Using synchronized
- volatile
- Synchronization using wait() and notify()
- Interrupting threads
- Scheduling threads
- ThreadGroups
- Exceptions and threads
Advanced Topics
- Garbage collection
- Enumerated types
- Inner classes
- Using java.text
- Regular expressions
