Java Programming for Developers


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.

Duration: 3 days

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

Layout: 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.


  • 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


Introduction to Java

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

Java – the basics

  • Variable types in Java
  • Java syntax
  • Java operators

Looping and Branching

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

Introduction to Object Orientation

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

Introduction to Objects in Java

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

Working with Arrays

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

More on Java classes

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

Working with Strings

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

Packaging Java Classes

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

Inheritance and Abstraction in Java

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


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

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


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

Inner Classes

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

Lambda Expressions

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

Error Handling in Java

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

Multithreading in Java

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

Enquire about this course

"*" indicates required fields

By submitting this form, you agree to our Privacy Policy.
This field is for validation purposes and should be left unchanged.