Java Programming Fundamentals

This intensly practical course covers all major aspects of programming with Java. It is essentially a condensed version of the courses 'Java SE Primer Workshop' and and' Java SE Programming Workshop', but excludes topics on Threads and Networking. The course is suitable for all versions of Java up to and including Java SE 8.
Development will be performed using Eclipse, IntelliJ, NetBeans, Websphere Studio Application Developer, Rational Application Developer, Jbuilder and the Java Development Kit (JDK) plus a text editor.
For exclusive one-company, on-site presentations of this course, we can tailor the course agenda to suit your exact requirements. In many cases, we are able to build your in-house standards and naming conventions into the delivered course as well.

What you will learn

On successful completion of this course you will be able to:

  • use the major concepts of a modern, block-structured, high-level language, such as control flow, method calls and modular programming
  • structure programs using classes and other essential object-oriented features
  • take advantage of and understand Interfaces
  • use the Collections Framework
  • create and handle Exceptions
  • use the Java Input/Output classes
  • understand and use Serialization to achieve persistence.

Who Should Attend

Software developers and applications programmer coming new to the Jave programming environment.


Attendees should be familiar with the Windows host environment. Knowledge of any programming language is advantageous, but is not essential.


5 days

Fee (per attendee)

£2050 (ex VAT)


This includes free online 24/7 access to course notes.


Hard copy course notes are available on request from

at £50.00 plus carriage per set.

Course Code



Introduction to Java

What is Java? The Java Programming Language The Java Platform, the ClassPath; What Can Java Do?; Overview of the many subjects covered by Java; Advantages of using Java; Creating a java class; Running Simple Applications; A simple first example - The "Hello World" Application.

Object-Oriented Concepts

An introduction to Objects What is an Object?, Encapsulation Communicating between objects; What are Messages?, the benefits of Messages; Classes; What are Classes?, Objects vs. Classes, instantiation, the benefits of Classes; Inheritance; What is Inheritance?, the benefits of Inheritance

Variable Definition & Manipulation

Variables; Variable Naming; Naming Standards; Data Types; Literal Values; Numeric Literals; Variable Scope; Variable Initialisation; Final Variables (Constants); Final Reference Variables; Escape Characters; Passing Arguments to JAVA Programs; Simple System Input / Output Techniques.

Arithmetic & Bitwise Manipulation

Arithmetic Operators; Unary Operations; Bitwise Operators; Assignment Operators; Expressions; Numeric Promotion; Literal Values - Casting; Casting; Implicit Casting.

Objects, Methods & Classes

Introduction to Classes and Objects; Methods, Applications & Object Code; Creating & Manipulating Objects, Calling Methods, Passing Arguments and Method Overloading, Returning Values from Methods; Constructors, Static Code; Varargs; Inheritance - Extending a Class; What does a Subclass Inherit?; Methods in java.lang.Object; Garbage Collection & Finalization.


Strings; String Concatenation; String Methods; Testing for String Equality; String Manipulation - the StringBuilder class; Comparing StringBuilder Objects; StringTokenizer.

Controlled Flow Statements

Relational Operators; Conditional Operators; Control Flow Statements; The if-else Statement; The Ternary Expression; The Switch Statement; For Loop Statements; For-Each loop Statements; While loop Statements; Do-while loop Statements; Breaking out of Loops: break and continue; Labelled Loops.


Switching on Enums.


Inheritance - Extending a Class; What does a Subclass Inherit?; Rules for Overriding Methods; Overriding Methods - Example; Covariance; Hiding Static Methods; Overriding Instance / Hiding Static - Methods Summary; Hiding Variables; Inherited Methods in java.lang.Object; Overriding Equals and HashCode.


Arrays; Allocating Storage for an Array; Using the ForEach Loop with Arrays; Passing Arrays as Arguments; Multi-Dimentional Arrays; Varying the Inner Dimension of a Two Dimensional Array; Arrays of Objects; Array Utilities; Sorting and Searching Arrays; Copying Arrays.


Sending arguments; How do we use the data?; Using VarArgs in the Main method.


Packages; Packages of the Java Platform; Using Package Members; Importing a Package Member; Referring to a Package Member by Name; Class Name Conflict; Static Imports; Static Imports and Enums; Importing multiple members with the same name.

Java Keywords

Class Declarations; Variable Declarations; Method Declarations.

Conversion, Formatting & Precision

Data Type Conversion; Wrapper Classes; Autoboxing and Unboxing; Decimal Precision; Numeric Formatting; Other Formatting Techniques.

Dates & Times

Date Processing - Java 7; Date Processing - Java 8 - The Need for Change; Creating Dates and Times; User Defined Dates; Java 8: Manipulating Dates and Times, Manipulating Dates and Times with ChronoUnit, Working with Periods and Durations, Date Manipulation, Date and Time Formatting, Date and Time Parsing, Working with TimeZones, Date Compatibility with Java 7.

Casting Objects

Casting Objects; Method Access Modifiers And Inheritance; Class Cast Exceptions.

Abstract Classes & Interfaces

Abstract Classes and Methods; Abstract Class Example; Interfaces; An Example Without Using Interfaces; Same Example Using Casting; Defining an Interface; Implementing an Interface; Same Example Using Interfaces; Implementing Methods; Interfaces with Static Variables and Methods; Interfaces with Default Methods - Java 8; Interface Methods vs Instance Methods - Rules; Duplicate Interface Methods - Rules; Functional Interfaces - Java 8.

Java Collections

Collection Interfaces; Summary Of Collection Implementations (Classes); Generics; Class Used in the Examples; Lists - The ArrayList Class; Lists - List Methods; ArrayList Methods; LinkedList Methods; Traversing Collections; Iterator / For Each Loop Processing; Using Collection Classes - Maps; List Implementations; Map Implementations; SET IMPLEMENTATIONS; Queue and Deque; Stacks; Properties; Preferences; Collection Utilities; Sets - Set Methods; SortedSet Methods; Vector Methods; Maps - Map Methods; SortedMap Methods; Hashtable Methods; Streams - Java 8; Parallel Streams - Java 8; Map Enhancements - Java 8.

Sorting Objects

Sorting Objects; The Comparable Interface; Comparators; More Ways To Sort Objects; Sorting and searching collections.

Nested Classes & Lambda Expressions

Member Inner Classes; Referencing the Outer Members from the Inner class; Example of Inner Class In Use; Method-Local Inner Classes; Anonymous Inner classes; Implementing Interfaces with Anonymous Inner Classes; Anonymous Inner Classes within Method calls; Static Nested Classes; Nested Class Summary; Functional Interfaces - Java 8; Using Lambda Expressions with Functional Interfaces; Lambda Expressions - Examples; Sorting Using the Comparator Interface - pre Java 8; Sorting Using the Comparator Interface - Lambda; Functional Interfaces and Generics; Using Method References - Java 8; - Built-In Functional Interfaces: Predicates, Functions; Other Built-In Functional Interfaces.

Error Handling

Java Exceptions; Error, Exception and RuntimeException Classes; Try / Catch Processing; The Finally Block; Java 7 Catch Blocks; Passing Exceptions Up the Stack - the Throws clause; The Throw Statement; User Defined Exceptions; Exceptions And Object Hierarchies; Using Exceptions as Arguments; Common Exception Types; Using System.exit() to Terminate; The Assert Statement.

Java I/O

Class; Input and Output Streams; Classes to Read / Write; NIO and Buffers; Reading from Files; close(); Reading from Files Using a Scanner; Reading from Files Using NIO; Writing to Files; Reading Data; Writing Data; Reading from System Input; Standard Output Stream - System.out; Serialization - Persistence of Objects.

Java 7 & NIO2

Try-With-Resources; NIO2; Path; Files; FilesSystems and FileStore; File Change Notification.

Junit Introduction

JUnit Example; JUnit assert Methods; Testing for exceptions; Testing Collections.

Junit 4

Testing with JUnit4; Other JUnit 4 Features.


What Does Javadoc Generate?; Javadoc Tags; Where Can Tags Be Used?


Startup; Perspectives; Views; Toolbars; Editors; Tasks, Markers and Bookmarks; Outline View; Importing and exporting; Searching; Rearranging Views; Comparing Files; Local History; Wizards.

Eclipse/NetBeans Java Editor

Editing code and elements; The editor context menu; Code Formatter; Managing Java Imports; Extract Method; Content/Code Assist; Templates; Quick Fix.

Running & Debugging

Running Java Apps; Debug perspective; Debugging.

© RSM Technology 2022