Java Programming Level 1: Introduction for Programmers Course Outline
Overview
In this live, instructor-led training course, students who already have a programming background will learn to program in Java, including:
• How Java works and its place in the world of programming languages
• Work with and manipulate strings
• Perform math operations
• Work with Java operators and loops
• Gain a deeper understanding of Object Oriented Programming concepts
• Make best use of the Java collections framework
• Best practices for dealing with exceptions
• Package Java code
• Work with external data storage systems.
This Java course is taught using Java 12.
Audience
Students new to the Java language who already have experience with other programming languages.
Prerequisites
This course is specially designed for those with prior programming background. You should also have a working knowledge of Object Oriented Programming concepts. If you do not have prior programming experience nor are not familiar with Object Oriented Programming, you should instead attend our Java Programming Level 1: Introduction for Non-Programmers" course. To view the course outline for the alternative course for non-programmers see:
Java Programming Level 1: Introduction for Non-Programmers
COURSE OUTLINE
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
XJV1NS