Welcome to ONLC Training Centers

Java Programming Level 1: Introduction for Programmers

Class Dates
(click date for class times)
(click Enroll for locations)

Fee:  $1195

Savings options:

 Learning Credits
Need a price quote?

Follow the link to our self-service price quote form to generate an email with a price quote.

Need a class for a group?

We can deliver this class for your group. Follow the link to request more information.

Email Alert

Receive an email when this class is available as "Ready to Run" or "Early Notice" status.

Train from your home or office

If you have high-speed internet and a computer you can likely take this class from your home or office.

Java Programming Level 1: Introduction for Programmers Course Outline

In this live, instructor-led training course, students who already have a programming background will learn to program in Java. Attendees will learn: how Java works and its place in the world of programming languages; to work with and manipulate strings; to perform math operations; to work with Java operators and loops; to gain a deeper understanding of Object Oriented Programming concepts; to make best use of the Java collections framework; best practices for dealing with exceptions; to package Java code; and work with external data storage systems. This Java course is taught using Java 12.

Students new to the Java language who already have experience with other programming languages.

This course is specially designed for individuals with prior programming background. You should also have a working knowledge of Object Oriented Programming concepts. If you have no prior programming experience or are not familiar with Object Oriented Programming, you should consider our "Java Programming Level 1: Introduction for Non-Programmers" course instead. For details on this alternative course for non-programmers, go to:
Java Programming Level 1: Introduction for Non-Programmers


1 Getting Started
  • Introduction
  • Writing, Compiling, and Executing Your Hello World Program
  • Exercise 1: Creating Your Hello World Program in Java
  • Basic Syntax and Naming Conventions
  • Printing Out Different Data Types
  • Variables and Variable Types
  • Exercise 2: Printing Different Types of Data
  • Primitive versus Reference Data Types
  • Null
  • Chars and Strings
  • Exercise 3: Declaring Strings
  • Doing Some Math
  • Exercise 4: Solving a Simple Trigonometry Problem
  • Comments Help You to Share Code
  • CLI versus GUI
  • Exercise 5: Running the Code from the CLI
  • Activity 1: Obtaining the Minimum of Two Numbers
  • Summary
2 Learning the Basics
  • Introduction
  • Controlling the Flow of Your Programs
  • Exercise 1: Creating a Basic if Statement
  • Comparison Operators
  • Exercise 2: Using Java Comparison Operators
  • Nested if Statements
  • Exercise 3: Implementing a Nested if Statement
  • Branching Two Ways with if and else
  • Exercise 4: Using if and else Statements
  • Using Complex Conditionals
  • Exercise 5: Using Logical Operators to Create Complex Conditionals
  • Using Arithmetic Operators in an if Condition
  • The Ternary Operator
  • Exercise 6: Using the Ternary Operator
  • Equality Can Be Tricky
  • Exercise 7: Comparing Decimal Values
  • Comparing Strings
  • Using switch Statements
  • Exercise 8: Using switch
  • Exercise 9: Allowing Cases to Fall Through
  • Using Java 12 Enhanced switch Statements
  • Exercise 10: Using Java 12 switch Statements
  • Looping and Performing Repetitive Tasks
  • Looping with the for Loop
  • Exercise 11: Using a Classic for Loop
  • Exercise 12: Using an Enhanced for Loop
  • Jumping Out of Loops with Break and Continue
  • Exercise 13: Using break and continue
  • Using the while Loop
  • Exercise 14: Using a while Loop
  • Using the do-while Loop
  • Handling Command-Line Arguments
  • Exercise 15: Testing Command-Line Arguments
  • Converting Command-Line Arguments
  • Exercise 16: Converting String to Integers and Doubles
  • Diving Deeper into Variables Immutability
  • Comparing Final and Immutable
  • Using Static Values
  • Using Local Variable Type Inference
  • Activity 1: Taking Input and Comparing Ranges
  • Summary
3 Object-Oriented Programming
  • Introduction
  • The Anatomy of a Class
  • Working with Objects in Java
  • Checking the Precedence of a Class with instanceof
  • Exercise 1: Creating the WordTool Class
  • Activity 1: Adding the Frequency-of-Symbol Calculation to WordToo
  • Inheritance in Java
  • Overriding and Hiding Methods
  • Avoiding Overriding: Final Classes and Methods
  • Overloading Methods and Constructors
  • Recursion
  • Annotations
  • Interfaces
  • Inner Classes
  • Documenting with JavaDoc
  • Activity 2: Adding Documentation to WordTool
  • Summary
4 Collections, Lists and Java's Built-In APIs
  • Introduction
  • Arrays
  • Activity 1: Searching for Multiple Occurrences in an Array
  • Sets
  • Lists
  • Exercise 1: Creating the AnalyzeInputApplication
  • Maps
  • Iterating through Collections
  • Exercise 2: Bringing Analytics into the AnalyzeInput Application
  • Sorting Collections
  • Exercise 3: Sort the Results from the AnalyzeInput Application
  • Properties
  • Activity 2: Iterating through Large Lists
  • Summary
5 Exceptions
  • Introduction
  • A Simple Exception Example
  • NullPointerException Have No Fear
  • Catching Exceptions
  • Exercise 1: Logging Exceptions
  • Throws and Throw
  • Exercise 2: Breaking the Law (and Fixing It)
  • The finally Block
  • Activity 1: Designing an Exception Class LoggingData
  • Best Practices for Handling Exceptions
  • Where Do Exceptions Come from?
  • Summary
6 Libraries, Packages, and Modules
  • Introduction
  • Organizing Code into Packages
  • Importing Classes
  • Exercise 1: Importing Classes
  • Fully Qualified Class Names
  • Importing All Classes in a Package
  • Dealing with Duplicated Names
  • Static Imports
  • Creating a Package
  • Naming Your Package
  • Directories and Packages
  • Exercise 2: Creating a Package for a Fitness Tracking App
  • Building JAR Files
  • Exercise 3: Building a JAR File
  • Defining the Manifest
  • Exercise 4: Building an Executable JAR File
  • Build Tools
  • Maven
  • Exercise 5: Creating a Maven Project
  • Exercise 6: Adding Java Sources to the Maven Project
  • Exercise 7: Building the Maven Project
  • Exercise 8: Creating an Executable JAR with Maven
  • Using Gradle
  • Exercise 9: Creating a Gradle Project
  • Exercise 10: Building an Executable JAR with Gradle
  • Using Third-Party Libraries
  • Finding the Libraries
  • Adding a Project Dependency
  • Exercise 11: Adding a Third-Party Library Dependency
  • Using the Apache Commons Lang Library
  • Exercise 8: Creating an Executable JAR with Maven
  • Using Gradle
  • Exercise 9: Creating a Gradle Project
  • Exercise 10: Building an Executable JAR with Gradle
  • Using Third-Party Libraries
  • Finding the Libraries
  • Adding a Project Dependency
  • Exercise 11: Adding a Third-Party Library Dependency
  • Using the Apache Commons Lang Library Library
  • Using Modules
  • Creating Modules
  • Exercise 13: Creating a Project for a Module
  • Exercise 14: Creating a Second Module Using the First One
  • Activity 1: Tracking Summer High Temperatures
  • Summary
7 Sockets, Files, and Streams
  • Introduction
  • Listing Files and Directories
  • Separating Directories from Files
  • Exercise 1: Listing theContents of Subdirectories
  • Creating and Writing to a File
  • Activity 1: Writing the Directory Structure to a File
  • Reading an Existing File
  • Reading a Properties File
  • Exercise 2: Creating a Properties File from the CLI
  • What are Streams?
  • The Different Streams of the Java Language
  • What are Sockets?
  • Creating a SocketServer
  • Writing Data on and Reading Data from aSocket
  • Activity 2: Improving the EchoServer and EchoClient Programs
  • Blocking and Non-Blocking Calls
  • Summary
View outline in Word


Attend hands-on, instructor-led Java Programming Level 1: Introduction for Programmers training classes at ONLC's more than 300 locations. Not near one of our locations? Attend these same live classes from your home/office PC via our Remote Classroom Instruction (RCI) technology.

For additional training options, check out our list of Courses and select the one that's right for you.


Class Format
Class Policies
Student Reviews

First Name

Last Name