Java Programming for Developers

Contact Us for Dates
3 days practical workshop for up to 12 people.

Contact us for Onsite Price

This training course covers the core components of the Java Programming Language. The training course is designed to teach programmers of other languages the skills needed to learn how to write robust, industry standard, platform independent Java applications leveraging the power and flexibility of the Java platform. The course can be delivered with a variety of IDEs including IntelliJ, VisualStudio Code, or Eclipse as the development environment.


This training course combines lectures with practical exercises that help the delegates to put what they have learned on the training course into practice.  The exercises specifically build on what has been recently taught and are built up as the training course progresses.

Training Course Objectives

  • Understand the Java runtime environment and the role of the virtual machine
  • Identify and use the Java primitive datatypes
  • Use the Java flow control constructs
  • Understand the difference between classes and objects
  • Implement instance data, methods, constructors, and method overloading
  • Understand and implement the concept of inheritance
  • Define the role of an interface, and be able to create and use one
  • Understand the concept of static data and methods
  • Understand the concept of polymorphism and be able to take advantage of it using Java
  • Be able to implement the Java Collections API using Generics
  • Build error handling blocks into applications
  • Understand the need for Enums and be able to create an Enum using Java
  • Working with Lambda Expressions

Who it is for

This training course is for developers who need to be able to develop applications using the Java programming language.

Training Course Prerequisites

  • The training course assumes that delegates are already programmers. They will already understand the need for flow control, variables, operators and functions, and indeed have used them in other language contexts.
  • It assumes no knowledge of the object-oriented paradigm as object oriented theory is also covered in the content of the training course.


Chapter 1 Introduction to Java

  • What is Java?
  • The Java Virtual Machine
  • The Java Runtime

Chapter 2 Java - the basics

  • Variable types in Java
  • Java syntax
  • Java operators

Chapter 3 Looping and Branching

  • if / else constructs
  • switch case blocks
  • while and for loops
  • The 'for each' loop

Chapter 4 Introduction to Object Orientation

  • Classes and objects
  • Definition of Encapsulation
  • Definition of Inheritance
  • Definition of Polymorphism

Chapter 5 Introduction to Objects in Java

  • Defining variables and methods in classes
  • Object references
  • The null reference
  • Garbage collection

Chapter 6 Working with Arrays

  • Creating arrays
  • Initialising arrays
  • Array initialisers
  • Variable argument lists

Chapter 7 More on Java classes

  • Constructors
  • Static variables and methods
  • Method overloading
  • Static imports

Chapter 8 Working with Strings

  • The String class
  • The String methods
  • The StringBuilder class
  • Formatting text
  • The printf Methods

Chapter 9 Packaging Java Classes

  • Using import
  • Defining packages
  • Using the classpath
  • Compiler flags
  • IDE package support

Chapter 10 Inheritance and Abstraction in Java

  • Inheritance in Java
  • Abstract classes and methods
  • Method overriding
  • Using @Override
  • Polymorphism and inheritance

Chapter 11 Interfaces

  • The theory of interfaces
  • Defining and using interfaces
  • Polymorphism with interfaces
  • Default methods in Java 8

Chapter 12 The Collections API and Generics

  • Working with Lists
  • Working with Sets
  • Working with Maps
  • Working with Generic collections
  • Working with Iterators
  • The Comparator and Comparable interfaces

Chapter 13 Enums

  • Life without Enums
  • Defining a basic Enum
  • Adding properties, methods and private constructors

Chapter 14 Inner Classes

  • The four types of inner classes
  • Creating inner classes
  • Using inner classes

Chapter 15 Lambda Expressions

  • The purpose of Lambda Expressions
  • Lambda expressions as Comparators
  • Lambda expressions as Runnables
  • Lambda expressions with looping constructs

Chapter 16 Error Handling in Java

  • Exception handling in Java
  • The Error and Exception classes
  • Defining custom exception classes
  • Introduction to Java logging APIs

Chapter 17 Multithreading in Java

  • What is multithreading
  • How to create additional threads in Java
  • Synchronization with multithreading