EIEIOTECHNOVATION
← Training programmes

EIEIO / PROGRAMMING & DEVELOPMENT

Java SE11 Programming

Course outline

5 days

Duration

5 days

Day 1

9am – 10.30am

  • Java Fundamentals
  • The History and Philosophy of Java
  • Object-Oriented Programming
  • The Java Development Kit
  • A First Simple Program
  • Handling Syntax Errors
  • A Second Simple Program
  • Another Data Type
  • Two Control Statements

10.30am – 10.45am Morning Break 10.45am – 12.30pm

  • Create Blocks of Code
  • Semicolons and Positioning
  • Indentation Practices
  • The Java Keywords
  • Identifiers in Java
  • The Java Class Libraries

12.30pm – 1.30am Lunch 1.30pm – 3.30am

  • Introducing Data Types and Operators
  • Why data Types Are Important
  • Java’s Primitive Types
  • The Boolean Type
  • Literals
  • A Close Look at Variables
  • The Scope and Lifetime of Variables
  • Operators

3.30pm – 3.45pm Afternoon Break 3.45pm – 5pm

  • Arithmetic Operators
  • Relational and Logical Operators
  • The Assignment Operator
  • Shorthand Assignments
  • Type Conversion in Assignments
  • Casting Incompatible Types
  • Operator Precedence
  • Expressions

Day 2

9am – 10.30am

  • Program Control Statements
  • Input Characters from the Keyboard
  • The if Statement
  • Nested ifs
  • The if-else-if Ladder
  • The switch Statement
  • Nested switch Statements
  • The for Loop
  • Some Variations on the for Loop
  • The Infinite Loop
  • Loops with No Body
  • Declaring Loop Control Variables Inside the for Loop
  • The Enhanced for Loop
  • The while Loop
  • The do-while Loop
  • Use break to Exit a Loop

10.30am – 10.45am Morning Break 10.45am – 12.30pm

  • Use break as a Form of goto
  • Use continue
  • Nested Loop
  • Introducing Classes, Objects, and Methods
  • Class Fundamentals
  • How Objects Are Created
  • Reference Variables and Assignment
  • Methods
  • Returning from a Method
  • Returning a Value
  • Constructors
  • Parameterized Constructors
  • Adding a Constructor to the Vehicle Class
  • The new Operator Revisited

12.30pm – 1.30am Lunch 1.30pm – 3.30am

  • Garbage Collection
  • The keyword
  • More Data Types and Operators
  • Arrays
  • Multidimensional Arrays
  • Alternative Array Declaration Syntax
  • Assigning Array References
  • Using the length Member
  • The For-Each Style for Loop

3.30pm – 3.45pm Afternoon Break 3.45pm – 5pm

  • Strings
  • Using Command-Line Arguments
  • Using Type Inference with Local Variables
  • The Bitwise Operators
  • The Operator

Day 3

9am – 10.30am

  • A Close Look at Methods and Classes
  • Controlling Access to Class Members
  • Pass Objects to Methods
  • Returning Objects
  • Method Overloading
  • Overloading Constructors
  • Recursion

10.30am – 10.45am Morning Break 10.45am – 12.30pm

  • Understanding static
  • Introducing Nested and Inner Classes
  • Varargs: Variable-Length Arguments
  • Inheritance
  • Inheritance Basics
  • Member Access and Inheritance
  • Constructors and Inheritance
  • Using super to Call Superclass Constructors
  • Using super to Access Superclass Members
  • Creating a Multilevel Hierarchy
  • When Are Constructors Executed?
  • Superclass References and Subclass Objects
  • Method Overriding
  • Overridden Methods Support Polymorphism
  • Why Override Methods?

12.30pm – 1.30am Lunch 1.30pm – 3.30am

  • Using Abstract Methods?
  • Using Abstract Classes
  • Using final
  • The Object Class
  • Packages and Interfaces
  • Packages
  • Packages and Member Access
  • Understanding Protected Members
  • Importing Packages
  • Java’s Class Library Is Contained in Packages

3.30pm – 3.45pm Afternoon Break 3.45pm – 5pm

  • Interfaces
  • Implementing Interfaces
  • Using Interfaces References
  • Variables in Interfaces
  • Interfaces Can Be Extended
  • Default Interface Methods
  • Use static Methods in an Interface
  • Private Interface Methods
  • Final Thoughts on Packages and Interfaces

Day 4

9am – 10.30am

  • Exception Handling
  • The Exception Hierarchy
  • Exception Handling Fundamentals
  • The Consequences of an Uncaught Exception
  • Using Multiple catch Statements
  • Catching Subclass Exceptions
  • Try Blocks Can Be Nested
  • Throwing and Exception
  • A Closer Look at Throwable
  • Using finally
  • Using throws

10.30am – 10.45am Morning Break 10.45am – 12.30pm

  • Three Additional Exception Features
  • Java’s Built-in Exceptions
  • Creating Exception Subclasses
  • Using I/O
  • Java’s I/O is Built upon Streams
  • Byte Streams and Character Streams
  • The Byte Stream Classes
  • The Character Stream Classes
  • The Predefined Streams
  • Using the Byte Streams
  • Reading and Writing Files using Byte Streams
  • Automatically Closing a File
  • Reading and Writing Binary File
  • Random-Access Files

12.30pm – 1.30am Lunch 1.30pm – 3.30am

  • Using Java’s Character-Based Streams
  • File I/O Using Character Streams
  • Using Java’s Type Wrappers to Convert Numeric to Strings
  • Multithreaded Programming
  • Multithreaded Fundamentals
  • The Thread Class and Runnable Interface

3.30pm – 3.45pm Afternoon Break 3.45pm – 5pm

  • Creating a Thread
  • Creating Multiple Threads
  • Determining When a Thread Ends
  • Thread Priorities
  • Synchronization
  • Using synchronized Statement
  • Thread Communication Using notify(), wait(), and notifyAll()
  • Suspending, Resuming, and Stopping Threads

Day 5

9am – 10.30am

  • Enumerations, Autoboxing, Static Import, and Annotations
  • Enumerations
  • Java Enumerations Are Class Types
  • The values() and valueOf() Methods
  • Constructors, Methods, Instance Variables, Enumerations
  • Enumerations Inherit Enum
  • Autoboxing
  • Type Wrappers
  • Autoboxing Fundamentals
  • Autoboxing and Methods
  • Autoboxing/Unboxing Occurs in Expressions

10.30am – 10.45am Morning Break 10.45am – 12.30pm

  • Static Import
  • Annotations
  • Generics
  • Generic Fundamentals
  • A Simple Generic Example
  • Bounded Types
  • Using Wildcard Arguments
  • Bounded Wildcards
  • Generic Methods
  • Generic Constructors
  • Generic Interfaces
  • Raw Types and Legacy Code
  • Type Inference with the Diamond Operator
  • Local Variable Type Inference and Generics

12.30pm – 1.30am Lunch 1.30pm – 3.30am

  • Erasure
  • Ambiguity Errors
  • Some Generic Restrictions
  • Continuing Your Study of Generics
  • Lambda Expressions and Method References
  • Introducing Lambda Expressions
  • Block Lambda Expressions
  • Generic Functional Interfaces
  • Lambda Expressions and Variable Capture
  • Throw an Exception from Within a Lambda Expression

3.30pm – 3.45pm Afternoon Break 3.45pm – 5pm

  • Methods References
  • Constructor References
  • Predefined Functional Interfaces

Programme scope, delivery arrangements and suitability are confirmed during enquiry.