CHAPTER 1 Jumping into Java
1.1 Computers and Programs
1.2 Programs and Models
1.3 Objects,Classes,and Messages
1.4 Our First Object:A PrintStream
1.5 Sending a Message to the System out Object
1.6 A Java Program
1.7 Mechanics
1.8 Time
Summary
Key Terms
Questions for Review
Exercises
Introduction:Web Pages,HTML,and Applets
CHAPTER 2 Sending Messages and Performing Operations
2.1 Introduction
2.2 Using PrintStream Objects
References,Methods,and Messages
2.3 The String Class
2.4 Methods,Arguments,and Return Values
2.5 Reference Variables
Variables and Assignment
2.6 Imperative Programming:Doing the Work
2.7 Using String Methods
2.8 Imperative Programming:Simple Conditionals
Summary
Key Terms
Questions for Review
Exercises
Painting and Positioning Graphics
CHAPTER 3 Working with Objects and Primitive Types
3.1 Introduction
3.2 Creating Objects
Origins of Objects
3.3 Imperative Programming:The boolean Type
3.4 Working with Objects
3.5 Dates and Calendars
3.6 Imperative Programming:Other Integer Types
3.7 BigInteger
Packages and the import Statement
3.8 Introduction to Input
3.9 The File Input Process
3.10 Keyboard Input
3.11 File Output
3.12 Network Computing:An Introduction
Java Documentation
Summary
Key Terms
Questions for Review
Exercises
Toward Animation
CHAPTER 4 Defining Classes
4.1 Introduction
4.2 Class Definition:Methods
4.3 Class Definition:Instance Variables
4.4 More on Methods:Return Values
4.5 Imperative Programming:Finding the Minimum
Variables,Declarations,and the return Statement
4.6 Still More on Methods:Parameters
4.7 State and Behavior
4.8 Class Definition:Putting It All Together
Declarations,Access,and Objects
Summary
Key Terms
Questions for Review
Exercises
A Simple Animation
CHAPTER 5 Advanced Class Definition
5.1 Customizing New Objects:Constructors
Constructors,Initializers,and Overloading
5.2 Example:A Name Class
5.3 Providing Class Behaviors
Static Methods
5.4 Tracking Class-Wide Information:Static Variables
5.5 Defining Constant Values:final
Working with Objects
5.6 Input Methods Revisited:Testing for End of Input
Summary
Key Terms
Questions for Review
Exercises
Creating Controls and Interaction
CHAPTER 6 Inside the Method:Imperative Programming
6.1 Introduction
6.2 A Metric Conversion Class
float,double,and the for Statement
6.3 Approximating the Value of π
6.4 Cascaded and Compound Conditional Statements
Logical Operators and Conditional Statements
Summary
Key Terms
Questions for Review
Exercises
More on Interaction
CHAPTER 7 Designing Classes
7.1 Introduction
7.2 Designing Classes-An Overview
7.3 The Counter Class Revisited
7.4 An Automated Teller Machine
7.5 Dispatching Repairpeople:An Example
Summary
Key Terms
Questions for Review
Exercises
Multiple Controls:Layout and Event Handling
CHAPTER 8 Verifying Object Behavior
8.1 Introduction
8.2 Categories of Errors
Java's Assertion Facility
8.3 Test Drivers
8.4 Automatic Testing
8.5 What to Test and How to Test It
8.6 Debugging Techniques
Summary
Key Terms
Questions for Review
Exercises
Separating Display and Control
CHAPTER 9 Working with Multiple Objects
9.1 Introduction
9.2 Processing Multiple Objects
9.3 Loop Patterns
9.4 The Impact of Loops on Testing
9.5 A Telephone Book
9.6 Maintaining Multiple Values
9.7 Vector-A Simple Collection Class
9.8 Traversing Vectors Using for Loops
9.9 Revisiting the TelephoneBook Class
Primitive Types and Collections:Revisiting the Wrapper Classes
9.10 An Example-Determining a Student's Relative Performance
9.11 Another Vector Application
object Methods
9.12 Introducing Arrays
9.13 Vectors and Arrays
9.14 Coin Flipping with Arrays
Summary
Key Terms
Questions for Review
Exercises
Positioning Text
CHAPTER 10 Designing Iteration
10.1 Introduction
10.2 Designing Loops
Two Loop Statements
10.3 Another Simple Example
10.4 Revisiting Loop Patterns
10.5 Variations on the Repairperson Loop
10.6 Totaling a Bank's Accounts
10.7 More Loop Patterns:Counters,Accumulators,and Extremes
10.8 Iterating Through Arrays
Short Circuits,break,and continue
10.9 A Loop Design Strategy:Refining an Imperfect Solution
10.10 Example:The LOGO Turtle
Summary
Key Terms
Questions for Review
Exercises
More Text Manipulation
CHAPTER 11 Maintaining Collections of Objects
11.1 Overview
11.2 Searching
11.3 Binary Search
11.4 Finding the Index of an Extreme
11.5 Sorting
11.6 Searching Files
11.7 Threads:Computing in Parallel
11.8 Threads:A Parallel File Search
Summary
Key Terms
Questions for Review
Exercises
Threads
CHAPTER 12 Extending Class Behavior
12.1 Introduction
12.2 Extending Classes-Inheritance I
12.3 A Better BufferedReader
12.4 Sdding State to the Subclass-Accessing the Superclass's State
12.5 Revisiting the Name Class-Adding Additional State
Inheritance
12.6 Overriding Methods
Polymorphism
12.7 Factoring Out Common Behavior-Inheritance II
12.8 Abstract Methods and Classes
12.9 Specifying Common Behavior-Interfaces
12.10 A Generic Sorting Method
Summary
Key Terms
Questions for Review
Exercises
Exploring the Abstract Window Toolkit of the Java Class Hierarchy
CHAPTER 13 Exceptions
13.1 Expect the Unexpected
13.2 Encountering the Unexpected
The Exception Class
13.3 Handling the Unexpected
13.4 Responsibility for the Unexpected
13.5 Exceptions Are Not Always Errors
Summary
Key Terms
Questions for Review
Exercises
The Model-View-Controller(MVC)Paradigm
CHAPTER 14 Recursion
14.1 Introduction
14.2 Example:Exponentiation
14.3 How to Design a Recursive Method
14.4 Recursive Methods:Under the Hood
14.5 Recursion with Vectors,Arrays,and Strings
14.6 Permutations
14.7 Towers of Hanoi
14.8 Recursion and Iteration
Summary
Key Terms
Questions for Review
Exercises
Towers of Hanoi Applet
CHAPTER 15 Client-Server Computing
15.1 Clients and Servers
15.2 Internet Communiction
15.3 Client-Server Computing
15.4 Some Simple Client Classes
Summary
Key Terms
Questions for Review
Exercises
Swing
APPENDIX A Glossary
APPENDIX B Three Java Environments
APPENDIX C AWIO
APPENDIX D Traversing Collections Using Enumerations