Java Programming
Course Description
Java is one of the most popular programming languages in the world. Widely used for server-side applications as well as for Android, it has an extremely rich ecosystem of organisations, tools, tutorials, documentation and libraries that provide a strong platform for application development.
This course is a full introduction to Java and explores the whole language with practical exercises at each step. Its purpose is to make you fully effective in developing Java applications within your organisation. This training course combines lectures with practical exercises (approx 50% taught and 50% exercises and discussion) that help the delegates to put what they have learned on the training course into practice.
This course is a full introduction to Java and explores the whole language with practical exercises at each step. Its purpose is to make you fully effective in developing Java applications within your organisation. This training course combines lectures with practical exercises (approx 50% taught and 50% exercises and discussion) that help the delegates to put what they have learned on the training course into practice.
Course Duration
5 days
Course Objectives
This course is designed to enable delegates to understand the core principles of the Java language. Delegates are shown how to program using Java. On completion of this course delegates should:
- be able to construct Java programs to solve software problems in an object-oriented fashion;
- understand the primitive constructs, operators and data types of the Java language and be able to make use of data types, flow-control and arrays; understand program organization through functions, classes, class and archive files;
- understand the use and misuse of inheritance, abstract classes and interfaces, and be able to exploit polymorphic behavior;
- be familiar with the common Java libraries, and be able to employ these in constructing systems;
- understand the issues involved in constructing industrial strength systems to promote efficiency, reusability and program robustness;
- understand the principles of multi-threading and be able to apply these using Java’s programming constructs.
Course Content
Getting Started with Java
Java goals and principles
Installing and using the Java SE
JAR files
Using an IDE
Java Language Fundamentals
Basic syntax rules
Defining classes
Defining and using packages
Declaring and using variables
Useful Java classes
Wrapper classes
Operators and Flow Control
Survey of common operators
Decision making
Looping constructs
for-each style loops
Defining and Using Classes
Essential concepts
Defining a class
Creating and using objects
Initialization
Using the static keyword
Arrays
Declaring and using arrays
Traversing arrays
Using the Arrays class
Multi-dimensional arrays
Additional Language Features
Autoboxing / unboxing
Varargs
Type-safe enumerations
Static imports
Useful Java SE Classes and Techniques
The Console class
The StringBuilder class
Formatting techniques
Regular expressions
Inheritance
Overview of inheritance
Defining superclasses and subclasses
Polymorphism
Abstract classes and methods
Final classes and methods
Interfaces
Overview of interfaces
Defining and implementing interfaces
Using interfaces in client code
Collections and Generics
Overview of collections and generics
The need for generics
Using collections
Defining generic classes
Defining generic methods
Exceptions and Assertions
Overview of exception handling
Throwing and catching exceptions
Standard exception classes
Defining new exception classes
Working with assertions
Inner Classes
Overview of inner classes
Regular inner classes
Method-local inner classes
Anonymous inner classes
Static nested classes
File Handling
Overview of working with files
Reading and writing text files
Reading and writing binary files
Serialization
Multi-threading
Creating multiple threads
Synchronizing threads
Synchronization classes
Concurrency API
Accessing Databases using JDBC
JDBC drivers and connections
Statements and results
Obtaining metadata
Additional techniques
Java goals and principles
Installing and using the Java SE
JAR files
Using an IDE
Java Language Fundamentals
Basic syntax rules
Defining classes
Defining and using packages
Declaring and using variables
Useful Java classes
Wrapper classes
Operators and Flow Control
Survey of common operators
Decision making
Looping constructs
for-each style loops
Defining and Using Classes
Essential concepts
Defining a class
Creating and using objects
Initialization
Using the static keyword
Arrays
Declaring and using arrays
Traversing arrays
Using the Arrays class
Multi-dimensional arrays
Additional Language Features
Autoboxing / unboxing
Varargs
Type-safe enumerations
Static imports
Useful Java SE Classes and Techniques
The Console class
The StringBuilder class
Formatting techniques
Regular expressions
Inheritance
Overview of inheritance
Defining superclasses and subclasses
Polymorphism
Abstract classes and methods
Final classes and methods
Interfaces
Overview of interfaces
Defining and implementing interfaces
Using interfaces in client code
Collections and Generics
Overview of collections and generics
The need for generics
Using collections
Defining generic classes
Defining generic methods
Exceptions and Assertions
Overview of exception handling
Throwing and catching exceptions
Standard exception classes
Defining new exception classes
Working with assertions
Inner Classes
Overview of inner classes
Regular inner classes
Method-local inner classes
Anonymous inner classes
Static nested classes
File Handling
Overview of working with files
Reading and writing text files
Reading and writing binary files
Serialization
Multi-threading
Creating multiple threads
Synchronizing threads
Synchronization classes
Concurrency API
Accessing Databases using JDBC
JDBC drivers and connections
Statements and results
Obtaining metadata
Additional techniques
Who should attend?
This course is for software programmers new to the Java language.
Pre-requisites
Candidates should have previous exposure to an object-oriented program such as C/C++.