Beginning Java 2 by Ivor Horton

Chapter 1 - Introducing Java:
What is Java All About?
Learning Java
The Java Environment
Object-Oriented Programming in Java
Java Program Structure
Java and Unicode

Chapter 2 - Programs, Data, Variables, and Calculation:
Data and Variables
Integer Data Types
Floating Point Data Types
Arithmetic Calculations
Mixed Arithmetic Expressions
The op= Operators
Mathematical Functions and Constants
Storing Characters
Bitwise Operations
Boolean Variables
Operator Precedence

Chapter 3 - Loops and Logic:
Making Decisions
Logical Operators
The Conditional Operator
The switch Statement
Variable Scope
Loops

Chapter 4 - Arrays and Strings:
Arrays
Arrays of Characters
Strings
Operations on Strings
StringBuffer Objects

Chapter 5 - Defining Classes:
What is a Class?
Defining Classes
Defining Methods
Constructors
Defining and Using a Class
Method Overloading
Using Objects
Recursion
Understanding Packages
Controlling Access to Class Members
Nested Classes
The finalize() Method

Chapter 6 - Extending Classes and Inheritance:
Using Existing Classes
Class Inheritance
Choosing Base Class Access Attributes
Polymorphism
Multiple Levels of Inheritance
Abstract Classes
The Universal Superclass
Casting Objects
Designing Classes
Using the final Modifier
Interfaces

Chapter 7 - Exceptions:
The Idea Behind Exceptions
Types of Exceptions
Dealing with Exceptions
Exception Objects
Defining Your Own Exceptions

Chapter 8 - Understanding Streams:
Streams and the New I/O Capability
Understanding Streams
The Classes for Input and Output
The Standard Streams

Chapter 9 - Accessing Files and Directories:
Working with File Objects
Creating File Output Streams

Chapter 10 - Writing Files:
File I/O Basics
File Input and Output
Channels
Buffers
Writing To a File

Chapter 11 - Reading Files:
File Read Operations
File Channel Read Operations
Reading a Text File
Reading Binary Data
Reading Mixed Data
Copying Files
Random Access to a File
Read/Write Operations with a Single File Channel
Memory-Mapped Files

Chapter 12 - Serializing Objects:
Storing Objects in a File

Chapter 13 - Collection Classes:
Understanding the Collection Classes
Collections of Objects
Iterators
Collection Classes
Using Vectors
Linked ListsUsing Maps

Chapter 14 - A Collection of Useful Classes :
Utility Methods for Arrays
Observable and Observer Objects
Generating Random Numbers
Dates and Times
Regular Expressions

Chapter 15 - Threads :
Understanding Threads
Managing Threads
Thread Priorities

Chapter 16 - Creating Windows:
Graphical User Interfaces in Java
Creating a Window
Components and Containers
Basics of Components
Using Containers
Container Layout Managers
Adding a Menu to a Window

Chapter 17 - Handling Events:
Window-based Java Programs
The Event-handling Process
Event Classes
Semantic Event Handling in Applets
Semantic Event Listeners in an Application

Chapter 18 - Drawing in a Window :
Using the Model/View Architecture
Coordinate Systems in Components
Drawing on a Component
Shapes
Filling Shapes
Managing Shapes
Defining Our Own Shape Classes
Drawing Using the Mouse

Chapter 19 - Extending the GUI:
Creating a Status Bar
Using Dialogs
Instant Dialogs
Pop-up Menus
Transforming the User Coordinate System
Choosing Custom Colors

Chapter 20 - Filing and Printing Documents :
Serializing the Sketch
Implementing the Serializable Interface
Supporting the File Menu
Printing in Java

Chapter 21 - Java and XML:
XML
XML Document Structure
Data Structure in XML
Document Type Definitions
Rules for a Well-Formed Document
XML Namespaces
Working with XML Documents
Accessing Parsers
Using SAX

Chapter 22 - Creating and Modifying XML Documents:
The Document Object Model (DOM).Download