Introduction to Java

A Java Fundamentals course tailored for developers at all levels.

  • 3-5 Days
  • Beginner
  • In-person / Online
  • £ On Request


This course introduces the key components of the Java programming language. Starting from first basics, it introduces the essential Java language syntax, idioms, and tools required to quickly become productive as a Java developer.

As with all our courses, the syllabus can be tweaked to cover more advanced topics, depending on your needs.

The course is delivered by seasoned Java developers with years of commercial experience, including 10+ years apiece working with Java.


Core Programming Concepts

  • Variables, functions and libraries
  • Compiled programs vs interpreted scripts
  • Typed and untyped programming
  • Static vs dynamic typing
  • Threads and call stacks
  • Errors and exceptions

Core Java Concepts

  • Origins and goals of the Java language
  • Bytecode and the Java Virtual Machine
  • Packages and dynamic class loading
  • Garbage collection in Java

Creating Simple Programs

  • Writing Hello World! in Java
  • Declaring variables to hold numbers
  • Declaring variables to hold strings
  • Casting and converting between types
  • Reading and writing from the console

Making Choices and Looping

  • Conditional execution using the if statement
  • Conditional execution using the switch statement
  • Bounded iteration using the for loop
  • Unbounded iteration using the while and do … while loops
  • Alerting the execution of a loop using break and continue
  • Different ways of writing infinite loops

Java Methods in Depth

  • What does the static keyword mean?
  • Understanding how parameters are passed
  • Choosing if a method should be public or private
  • Understanding recursion and writing recursive methods

Introduction to Object Orientation

  • What is a data structure?
  • Why are data structures dangerous?
  • What are classes and objects?
  • What makes an object different from a class?
  • Key principle one – Abstraction
  • Key principle two – Encapsulation
  • How do you avoid repetition in classes?
  • Key principle three – Inheritance
  • How do you change inherited behaviour?
  • Key principle four – Polymorphism

Support for OO in Java

  • Allocating objects from the heap
  • Linking to objects via references
  • Moving references to other objects
  • Pointing a reference at null
  • Ensuring an object is no longer referenced
  • A brief introduction to the theory of garbage collection

Built in Objects in Java

  • Strings are objects in Java
  • Arrays are objects in Java
  • Every class has an instance of Class

Object Oriented Development Part One

  • Creating basic Java classes
  • Choosing accessibility levels
  • Overloading and overriding methods
  • Overriding the toString method
  • Comparing references using the instanceof operator
  • Comparing references using class objects
  • Inheriting from a base class
  • Creating abstract and final classes

Object Oriented Development Part Two

  • Writing appropriate class constructors
  • Private constructors and singletons
  • Static and instance initialisation blocks
  • Top-down class and object initialisation
  • Declaring and using interfaces
  • Using inner and anonymous classes
  • Implementing equal and hashcode
  • Cloning and copy constructors
  • GUI Development in Java
  • How the Swing library works
  • Creating a window class via inheritance
  • Adding widgets to the window
  • Positioning widgets using layout managers
  • Adding event handling to the GUI

Exception Handling in Java

  • Introducing errors, runtime exceptions and checked exceptions
  • Exceptions in constructors and finalisers
  • Implementing an effective exception handling strategy
  • The correct use of finally blocks
  • Using Java assertions

Java I/O

  • Introducing input and output streams
  • Introducing readers and writers
  • Using File objects to resolve file paths
  • Text-based file I/O with buffered streams
  • Binary-based file I/O using data streams
  • Serializing Java objects
  • Customizing Java Serialization

Introduction to Java

A Java Fundamentals course tailored for developers at all levels.

  • 3-5 Days
  • Beginner
  • In-person / Online
  • £ On Request

Deloitte logo
Atlassian logo
Bose logo
Workday logo
BMW logo
Amex logo
McAfee logo
PWC logo