Introduction
  • Introduction and Installation
  • What Java Is and How It Works
  • Getting a Job and What to Study After Completing Basic Java
  • How To Get The Most Out Of This Course
Programming Core Java
  • A Hello World Program
  • Using Variables
  • Strings: Working With Text
  • While Loops
  • For Loops
  • "If"
  • Getting User Input
  • Do ... While
  • Switch
  • Arrays
  • Arrays of Strings
  • Multi-Dimensional Arrays
  • Classes and Objects
  • Methods
  • Getters and Return Values
  • Method Parameters
  • Setters and "this"
  • Constructors
  • Static (and Final)
  • String Builder and String Formatting
  • The toString Method
  • Inheritance
  • Packages
  • Interfaces
  • Public, Private, Protected
  • Polymorphism
  • Encapsulation and the API Docs
  • Casting Numerical Values
  • Upcasting and Downcasting
  • Using Generics
  • Generics and Wildcards
  • Anonymous Classes
  • Reading Files Using Scanner
  • Handling Exceptions
  • Multiple Exceptions
  • Runtime vs. Checked Exceptions
  • Abstract Classes
  • Reading Files With File Reader
  • Try-With-Resources
  • Creating and Writing Text Files
  • The Equals Method
  • Inner Classes
  • Enum Types: Basic and Advanced Usage
  • Recursion: A Useful Trick Up Your Sleeve
  • Serialization: Saving Objects to Files
  • Serializing Arrays
  • The Transient Keyword and More Serialization
  • Passing by Value
The Java Collections Framework
  • ArrayList: Arrays the Easy Way
  • Linked Lists
  • HashMap: Retrieving Objects via a Key
  • Sorted Maps
  • Sets
  • Using Custom Objects in Sets and as Keys in Maps
  • Sorting Lists
  • Natural Ordering
  • Queues
  • Using Iterators
  • Implementing Iterable
  • Deciding Which Collection to Use
  • Complex Data Structures
Appendix
  • Eclipse Shortcuts
  • Getting a Job Extended Version: What you need, a strategy for finding work, and my story.
  • Ten Tips for Improving Your Coding
  • Debugging in Eclipse
What's New In Java 8?
  • Lambda Expressions
Tests
  • Basic Java Programming: Test Your Knowledge
Source Code
  • Source Code
Bonus
  • Bonus: Learn Advanced Java