About the Course

The Java Programming 1 course is closely aligned with the Oracle Java SE 8 Programmer I exam.
The course comprises sessions dealing with Java apps, variables and operators, decision and loop constructs, arrays, methods, objects, classes, static members, enums, object-oriented principles, exception handling, packages and imports, selected APIs and lambda expressions.
Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

The delegate will learn and acquire skills as follows:

• Writing, compiling, and executing simple Java applications
• Declaring and initialising variables
• Constructing expressions using relational, arithmetic and logical operators
• Constructing decision and loop statements
• Constructing and manipulating arrays of data
• Declaring and invoking methods using both parameters and return values
• Constructing classes and objects
• Creating static members
• Constructing enums
• Encapsulating classes
• Implementing a hierarchical application design using inheritance
• Exploiting polymorphism
• Throwing and catching exceptions
• Organising classes into packages
• Producing code that uses wrappers, Strings, dates and ArrayLists
• Constructing a simple lambda expression

Who will the course benefit?

The Java Programming 1 course is aimed at anyone who wants to learn Java as a first language and developers/engineers who want to migrate to Java from another language, particularly those with little or no object-oriented knowledge.

If you are an experienced object-oriented developer with a good grasp of programming constructs such as variables, decisions, loops, arrays, classes and objects (albeit in another language), you should consider taking the Java Programming 2 course instead.



Delegates attending this course should be able to define general programming concepts including compilation and execution, variables, arrays, sequence, selection and iteration, navigate the filesystem (on the command line ideally), edit and save text files and browse the web. This knowledge can be obtained by attendance on the pre-requisite Introduction to Programming course.

Pre-requisite Courses

  • Introduction to Programming

Follow-on Courses

  • Java Programming
  • Unit Testing using JUnit


  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.
The Exam:


This course helps to prepare for the following exam:

Oracle Certified Associate (OCA) Java SE8 Programmer I exam (1Z0-808).

Attending this course will help delegates gain many of the skills and product knowledge requirements as outlined in the exam objectives. Studying this course and its associated reference materials can form part of the preparation to achieve certification. Experience, practice, self-study and aptitude are also key requirements for exam success.

Before taking any exam, ensure you have the recommended experience. The Oracle website lists all exam requirements and these are updated regularly.
Exams are not included as part of the course.


Course Objectives

This course aims to provide the delegate with the knowledge to be able to produce simple Java applications that exploit all core elements of the language including variables, expressions, selection and iteration, arrays, methods, classes and objects, encapsulation, inheritance and polymorphism, exceptions, and some commonly used library classes. The course further aims to prepare the delegate to sit the Oracle Java SE 8 Programming I exam.



Course Contents - DAY 1

Course Introduction

• Administration and Course Materials
• Course Structure and Agenda
• Delegate and Trainer Introductions


• Application Structure
• Compilation
• Execution

Session 2: VARIABLES

• Data Types
• Declaration
• Assignment
• Naming Conventions
• Literals
• Constants
• Scope
• Default Values

Session 3: OPERATORS

• Unary vs. Binary Operators
• Order of Precedence
• Arithmetic Operators
• Unary Operators
• Assignment Operators
• Relational Operators
• Logical Operators

Session 4: DECISIONS

• If Else
• Switch
• Ternary Operator

Session 5: LOOPS

• For
• While
• Do
• Break
• Continue

Course Contents - DAY 2

Session 6: ARRAYS

• Declaration
• Assignment
• Setting and Getting
• Traversing

Session 7: METHODS

• Declaration
• Invocation/Call
• Parameters
• Return Type
• Overloading
• Output as Input

Session 8: OBJECTS

• Creation and Assignment
• Instance Fields
• Instance Methods
• References as Parameters
• Lifecycle

Session 9: CLASSES

• Structure
• Instance Fields
• Instance Methods
• Constructors
• Initialiser Blocks
• Naming Conventions

Course Contents - DAY 3


• Static Fields
• Static Methods
• Static Context

Session 11: ENUMS

• Structure
• Usage


• Access Modifiers
• Encapsulating a Class
• Objects of an Encapsulated Class

Course Contents - DAY 4


• Inheriting from a Super Class
• Sub Class Differentiation
• Sub Class Constructors
• Polymorphism
• Abstract Classes and Methods
• Interfaces
• The Object Class


• Checked and Unchecked Exceptions
• Throwing Exceptions
• Catching Exceptions
• Try with Resources
• Custom Exceptions
• Guidelines

Course Contents - DAY 5


• Packages
• Imports
• Static Imports


• Wrapper Classes
• String
• StringBuilder
• java.time Classes
• ArrayList


• Outer Class
• Anonymous Inner Class
• Lambda Expression
• Functional Interfaces

5 Days

Course Dates

There are no dates scheduled for this location at the moment. Please call to enquire 08000 199337


Select a Classroom Course

Course Title Start Date Finish Date Location Price Qty
Java Programming 1 Mar 11, 2019 Mar 15, 2019 London £1,595
Java Programming 1 Apr 29, 2019 May 3, 2019 London £1,595
Java Programming 1 Jun 10, 2019 Jun 14, 2019 London £1,595
Java Programming 1 Jul 22, 2019 Jul 26, 2019 London £1,595
Java Programming 1 Sep 02, 2019 Sep 06, 2019 London £1,595
Java Programming 1 Oct 14, 2019 Oct 18, 2019 London £1,595
Java Programming 1 Nov 25, 2019 Nov 29, 2019 London £1,595
Course Type:


Session Dates: