1. What Is a Java Program?
Introduction to Computer Programs
Key Features of the Java Language
The Java Technology and Development Environment
Running/testing a Java program

2. Creating a Java Main Class
Java Classes
The main Method

3. Data In the Cart
Introducing variables
Working with Strings
Working with numbers
Manipulating numeric data

4. Managing Multiple Items
Working with Conditions
Working with a List of Items
Processing a list of items

5. Describing Objects and Classes
Working with objects and classes
Defining fields and methods
Declaring， Instantiating， and Initializing Objects
Working with Object References
Doing more with Arrays
Introducing the NetBeans IDE
Introducing the Soccer League Use Case

6. Manipulating and Formatting the Data in Your Program
Using the String Class
Using the Java API Docs
Using the StringBuilder Class
More about primitive data types
The remaining numeric operators
Promoting and casting variables

7. Creating and Using Methods
Using methods
Method arguments and return values
Static methods and variables
How Arguments are Passed to a Method
Overloading a method

8. Using Encapsulation
Access Control
Encapsulation
Overloading constructors

9. More on Conditionals
Relational and conditional operators
More ways to use if/else constructs
Using Switch Statements
Using the NetBeans Debugger

10. More on Arrays and Loops
Working with Dates
Parsing the args Array
Two-dimensional Arrays
Alternate Looping Constructs
Nesting Loops
The ArrayList class

11. Using Inheritance
Overview of inheritance
Working with subclasses and superclasses
Overriding methods in the superclass
Introducing polymorphism
Creating and extending abstract classes

12. Using Interfaces
Polymorphism in the JDK foundation classes
Using Interfaces
Using the List Interface
Introducing Lambda expressions

13. Handling Exceptions
Handling Exceptions: An overview
Propagation of exceptions
Catching and throwing exceptions
Handling multiple exceptions and errors