Java Programming 1 / Java Developer

Course Code: JAVA1

Duration: 5 days

 
 
 
 

Java Programming 1 / Java Developer Course Overview

Java is everywhere and is as popular as ever. This hands-on course, delivered using Java 17, endeavours to provide the fundamental skills you need to become a Java Developer. We'll have you build a series of realistic apps focusing on object-oriented principles from the start.

Note that this is not a beginners course. You are expected to be familiar with programming concepts and have a little coding experience. If not you should consider our Introduction to Programming - Java course instead.

Similarly, the course is targeted to closely follow the official Oracle Java curriculum for certification.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Course Objectives

This course aims to provide the delegate with the skills needed to build object-oriented apps using Java that exploit all of the fundamental elements of the language.

Who will the Course Benefit?

The Java Programming 1 / Java Developer course is aimed at anyone with a little coding experience seeking to become a Java Developer, and existing developers seeking to migrate to Java.

Skills Gained

The delegate will learn and acquire skills as follows:

  • Construct a Java app; perform basic IO
  • Declare classes; instantiate and use objects
  • Differentiate between primitives and references; exploit the standard data types
  • Code decisions and loops
  • Group data using ArrayList and HashMap
  • Make the case for and code static fields and methods
  • Manage numbers and perform computations using the Math and BigDecimal classes
  • Process Strings and perform pattern matching
  • Manage exceptions
  • Hide an object's data and its internal workings
  • Build objects that are composed of others
  • Build objects that inherit state/behaviour from others
  • Build flexible and scalable apps by exploiting abstraction and polymorphism
  • Read from and write to files and databases
  • Build a standalone executable from one or more modules

Java Programming 1 / Java Developer Training Course

Course Introduction

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

Session 1: PLATFORM, APP STRUCTURE, & BASIC IO

  • The Java language
  • The Java platform
  • App structure incl. modules, packages, and classes (brief)
  • The main method
  • Reading from stdin and writing to stdout
  • Reading from and writing to a text file
  • Compilation and execution

Session 2: CLASSES & OBJECTS

  • What is an object
  • What is a class
  • Object-oriented apps
  • Classes
    • Fields
    • Constructors
    • Methods
  • Objects
    • Instantiation
    • Getting and setting fields
    • Calling methods

Session 3: VARIABLES & STANDARD DATA TYPES

  • Instance fields
  • Default values
  • Local variables incl. parameters
  • Primitives
  • Literals
  • Default types
  • Casting
  • References
  • Arrays (brief)
  • Strings (brief)
  • Primitive wrappers
  • Constants
  • Type inference
  • Varargs
  • Naming conventions

Java Programming 1 / Java Developer Training Course

Session 4: DECISIONS & LOOPS

  • Relational and conditional operators
  • If statements
  • Switch statements
  • Switch expressions
  • The ternary operator
  • While loops
  • For loops (both kind)
  • Branching statements (break, continue, return)

Session 5: ESSENTIAL COLLECTIONS

  • What is an array
  • List vs. array
  • Map vs. list
  • Generic classes (brief)
  • Arrays
    • Declaration and initialisation
    • Setting and getting elements
    • Sizing
    • Iterating
    • Multi-dimensional arrays
    • Command line arguments
  • The ArrayList and HashMap classes
    • Imports
    • Adding elements incl. autoboxing
    • Membership testing
    • Accessing elements
    • Changing elements
    • Removing elements
    • Sizing
    • Iterating

Session 6: STATIC MEMBERS & ENUMS

  • What does it mean to be static
  • Static fields
  • Static methods
  • Static context
  • Static imports
  • Enums

Session 7: NUMBERS & MATHS

  • Strings to numbers
  • Arithmetic and unary operators
  • The Math class
  • The BigDecimal class
  • Number formatting

Java Programming 1 / Java Developer Training Course

Session 8: STRINGS & REGEX

  • What is a String
  • Immutable objects
  • The String Pool
  • Strings
    • Creation
    • Escape characters
    • Concatenation
    • Text blocks
    • Format Strings
    • Length
    • Transformative methods
    • Search methods
    • Comparative methods
    • Java 11 methods
  • StringBuilder
  • Pattern matching
  • Regular expressions
  • The Pattern and Matcher classes

Session 9: EXCEPTION HANDLING

  • What is an exception
  • Checked vs. unchecked exceptions
  • Exceptions and the call stack
  • Try, catch, and finally
  • Handling multiple exception types
  • Try with resources
  • Throwing exceptions
  • Custom exceptions (brief)

Session 10: ENCAPSULATION

  • What is encapsulation
  • Access modifiers
  • Private fields and public methods
  • Getters and setters
  • Constructors (for controlling instantiation)
  • The this keyword
  • Records

Java Programming 1 / Java Developer Training Course

Session 11: COMPOSITION & AGGREGATION

  • What is composition
  • What is aggregation
  • Composite associations
  • Aggregate associations
    • Constructor injection (mandatory)
    • Setter injection (optional)
  • The problem with getter methods (refs. vs. copies)

Session 12: INHERITANCE, ABSTRACTION, & POLYMORPHISM

  • What is inheritance
  • The purpose of inheritance
  • Extending a superclass
  • Shadowing
  • Overriding
  • Subclass constructors
  • The super keyword
  • Inheritance polymorphism
  • Upcasting and downcasting
  • The instanceof operator
  • Final classes and methods
  • Sealed classes
  • The Object class incl. toString, hashCode, and equals (brief)
  • What is abstraction
  • The purpose of abstraction
  • Abstract classes and methods
  • Extending an abstract class
  • Interfaces
  • Implementing one or more interfaces
  • Extending and implementing
  • Interface polymorphism
  • Interface default, static, and private methods

Java Programming 1 / Java Developer Training Course

Session 13: MODERN FILE IO

  • What is a stream
  • The different types of stream
  • The Path class
  • Reading all bytes/lines from a file
  • Writing all bytes/lines to a file
  • Reading from a file using a buffered stream
  • Writing to a file using a buffered stream
  • Parsing a file using a Scanner

Session 14: MODULES

  • What is a module
  • Module descriptor
  • Module requires and exports
  • Compiling a module
  • Using jdeps to determine a module's dependencies
  • Compiling a module that requires other modules
  • Executing a module
  • Using jlink to build a custom JRE

Session 15: BASIC JDBC

  • What is JDBC
  • Loading the driver
  • Establishing a connection
    • AutoCommit
    • Transaction management
  • Creating a statement
    • PreparedStatement
    • CallableStatementt
    • Batch updates
  • Executing a query/update
  • Processing a ResultSet
    • Type
    • Concurrency
    • Holdability
  • Closing resources
Notes:
  • 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.

Examinations

This Java Programming 1 / Java Developer course is an excellent choice for delegates preparing to take the following Oracle Java 8 exam:

  • Oracle Certified Associate (OCA) Java SE 8 Programmer I exam (1Z0-808)

This Java Programming 1 / Java Developer course together with the Java Programming 2 / Java Advanced Developer course is an excellent choice for delegates preparing to take the following Oracle Java 11 exam:

  • Oracle Certified Professional (OCP) Java SE 11 Developer exam (1Z0-819)

This Java Programming 1 / Java Developer course together with the Java Programming 2 / Java Advanced Developer course is an excellent choice for delegates preparing to take the following Oracle Java 17 exam:

  • Oracle Certified Professional (OCP) Java SE 17 Developer exam (1Z0-829)

Attending these courses and studying the 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.

Requirements

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 - Java course.

Pre-Requisite Courses

Course Reviews

Good hands-on course. Keeps you on your toes. I already had some knowledge of Java, but this course was a very good reiteration. Very good explanation of streams and lambdas, which was new to me.

Guy - Analyst - developer - IT - October 2024


The instructor was very good, attentive and adaptable to our needs as we all came from different backgrounds in programming. The instructor was able to adjust the pace of the content or time given for exercises to our needs. It was also good to learn from other colleagues on the course.

Mohammed - October 2024


Brian is a great instructor and paced the sessions very well. The course covered all of the essential aspects of Java in good depth. Having access to a VM was great as it removed all the headache of setting up a local environment.

Ashlee - Government - March 2024


As a programmer but with no Java experience, I found the course really interesting and now feel I have a great base for using Java myself. Alan was really helpful and able to address any queries I had.

Suzanne - Principle Programmer - Academic - March 2024


Brian was very patient and happy to take his time to explain any questions or queries I had. Being a kinaesthetic learner, it was great to be able to write the code together and break it down. I've come away feeling a lot more confident with writing Java and excited to continue my learning journey.

Luke - Real Estate - February 2024


Excellent course. Alan is very knowledgeable and patient. Great pace and course content, lots of hands-on practice which was very helpful. Thank you!

Lizzie - Application Analyst - Real Estate - December 2023


Public Scheduled Events

Classroom & Live Virtual Instructor-Led Training

Duration: 5 days

Price: £2,100.00 exc. VAT 


Start Date Options Spaces  
16 Dec 2024
StayAhead Virtual Courses available 
Spaces Book Now 
13 Jan 2025
StayAhead Virtual Courses available 
Spaces Book Now 
10 Mar 2025
StayAhead Virtual Courses available 
Spaces Book Now 
28 Apr 2025
StayAhead Virtual Courses available 
Spaces Book Now 
16 Jun 2025
StayAhead Virtual Courses available 
Spaces Book Now 
04 Aug 2025
StayAhead Virtual Courses available 
Spaces Book Now 
22 Sep 2025
StayAhead Virtual Courses available 
Spaces Book Now 
10 Nov 2025
StayAhead Virtual Courses available 
Spaces Book Now 
 

Live Virtual Classroom

 
Join live instructor-led classroom training from the comfort of your home or office.
All the convenience and benefits of the classroom experience without the hassle and costs of travel and accommodation.
 
 



Our Customers Include

 
EDF
Amazon
American Express
Aviva
QA
BAE
University of Cambridge
Barnardo's
Scottish Government
Bauer
Bloomberg
BP
HSBC
DVLA
GlaxoSmithKline
Government Campus
Capita
Tui
NHS
Ordnance Survey
Ministry of Defence
Zurich Insurance Group
trainline
Vodafone
 
 



Our Course Curriculum

 
 
 
+44 (0)20 7600 6116
Enquiries@StayAhead.com
Copyright © 2024 StayAhead Training Ltd
Cookies   /   Privacy Policy