Introduction to Java Training

  • Learn via: Classroom / Virtual Classroom / Online
  • Duration: 3 Days
  • Price: Please contact for booking options
We can host this training at your preferred location. Contact us!

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 a seasoned Java developer with over 25 years of commercial experience, including 13+ years 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 behavior?
  • 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 initialization blocks
  • Top down class and object initialization
  • 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 finalizers
  • 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


Contact us for more detail about our trainings and for all other enquiries!

Upcoming Trainings

Join our public courses in our Istanbul, London and Ankara facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
18 May 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
12 June 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
17 June 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
19 June 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
21 June 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
27 June 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
27 June 2024
Istanbul, Ankara, London
3 Days
Classroom / Virtual Classroom
26 June 2024
Istanbul, Ankara, London
3 Days
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.