| |
| |
Preface | |
| |
| |
| |
Introduction to Computers and Java | |
| |
| |
| |
Introduction | |
| |
| |
| |
Why Program? | |
| |
| |
| |
Computer Systems: Hardware and Software | |
| |
| |
| |
Programming Languages | |
| |
| |
| |
What Is a Program Made of? | |
| |
| |
| |
The Programming Process | |
| |
| |
| |
Object-Oriented Programming | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenge | |
| |
| |
| |
Java Fundamentals | |
| |
| |
| |
The Parts of a Java Program | |
| |
| |
| |
The print and printIn Methods, and the Java API | |
| |
| |
| |
Variables and Literals | |
| |
| |
| |
Primitive Data Types | |
| |
| |
| |
Arithmetic Operators | |
| |
| |
| |
Combined Assignment Operators | |
| |
| |
| |
Conversion between Primitive Data Types | |
| |
| |
| |
Creating Named Constants with final | |
| |
| |
| |
The String Class | |
| |
| |
| |
Scope | |
| |
| |
| |
Comments | |
| |
| |
| |
Programming Style | |
| |
| |
| |
Reading Keyboard Input | |
| |
| |
| |
Dialog Boxes | |
| |
| |
| |
The printf Method | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
A First Look at Classes and Objects | |
| |
| |
| |
Classes | |
| |
| |
| |
More about Passing Arguments | |
| |
| |
| |
Instance Fields and Methods | |
| |
| |
| |
Constructors | |
| |
| |
| |
A Bank Account Class | |
| |
| |
| |
Classes, Variables, and Scope | |
| |
| |
| |
Packages and import Statements | |
| |
| |
| |
Focus on Object-Oriented Design: Finding the Classes and Their Responsibilities | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
Decision Structures | |
| |
| |
| |
The if Statement | |
| |
| |
| |
The if-else Statement | |
| |
| |
| |
The Payroll Class | |
| |
| |
| |
Nested i f Statements | |
| |
| |
| |
The if-else-if Statement | |
| |
| |
| |
Logical Operators | |
| |
| |
| |
Comparing String Objects | |
| |
| |
| |
More about Variable Declaration and Scope | |
| |
| |
| |
The Conditional Operator (Optional) | |
| |
| |
| |
The switch Statement | |
| |
| |
| |
Formatting Numbers with the Decimal Format Class | |
| |
| |
| |
Focus on Problem Solving: The Sales Commission Class | |
| |
| |
| |
The Random Class | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
Loops and Files | |
| |
| |
| |
The Increment and Decrement Operators | |
| |
| |
| |
The while Loop | |
| |
| |
| |
Using the while Loop for Input Validation | |
| |
| |
| |
The do-while Loop | |
| |
| |
| |
The for Loop | |
| |
| |
| |
Running Totals and Sentinel Values | |
| |
| |
| |
Nested Loops | |
| |
| |
| |
The break and continue Statements | |
| |
| |
| |
Deciding Which Loop to Use | |
| |
| |
| |
Introduction to File Input and Output | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
A Second Look at Classes and Objects | |
| |
| |
| |
Static Class Members | |
| |
| |
| |
Overloaded Methods | |
| |
| |
| |
Overloaded Constructors | |
| |
| |
| |
Passing Objects as Arguments to Methods | |
| |
| |
| |
Returning Objects from Methods | |
| |
| |
| |
The toString Method | |
| |
| |
| |
Writing an equals Method | |
| |
| |
| |
Methods That Copy Objects | |
| |
| |
| |
Aggregation | |
| |
| |
| |
The this Reference Variable | |
| |
| |
| |
Inner Classes | |
| |
| |
| |
Enumerated Types | |
| |
| |
| |
Garbage Collection | |
| |
| |
| |
Focus on Object-Oriented Design: Class Collaboration | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
Arrays and the ArrayList Class | |
| |
| |
| |
Introduction to Arrays | |
| |
| |
| |
Processing Array Contents | |
| |
| |
| |
Passing Arrays as Arguments to Methods | |
| |
| |
| |
Some Useful Array Algorithms and Operations | |
| |
| |
| |
Returning Arrays from Methods | |
| |
| |
| |
String Arrays | |
| |
| |
| |
Arrays of Objects | |
| |
| |
| |
The Sequential Search Algorithm | |
| |
| |
| |
The Selection Sort and the Binary Search Algorithms | |
| |
| |
| |
Two-Dimensional Arrays | |
| |
| |
| |
Arrays with Three or More Dimensions | |
| |
| |
| |
Command-Line Arguments and Variable-Length Argument Lists | |
| |
| |
| |
The ArrayList Class | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
Text Processing and Wrapper Classes | |
| |
| |
| |
Introduction to Wrapper Classes | |
| |
| |
| |
Character Testing and Conversion with the Character Class | |
| |
| |
| |
More about String Objects | |
| |
| |
| |
The StringBuilder Class | |
| |
| |
| |
Tokenizing Strings | |
| |
| |
| |
Wrapper Classes for the Numeric Data Types | |
| |
| |
| |
Focus on Problem Solving: The Test Score Reader Class | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
Inheritance | |
| |
| |
| |
What Is Inheritance? | |
| |
| |
| |
Calling the Superclass Constructor | |
| |
| |
| |
Overriding Superclass Methods | |
| |
| |
| |
Protected Members | |
| |
| |
| |
Classes That Inherit from Subclasses. | |
| |
| |
| |
The Object Class | |
| |
| |
| |
Polymorphism | |
| |
| |
| |
Abstract Classes and Abstract Methods | |
| |
| |
| |
Interfaces | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
Exceptions and Advanced File I /O | |
| |
| |
| |
Handling Exceptions | |
| |
| |
| |
Throwing Exceptions | |
| |
| |
| |
Advanced Topics: Binary Files, Random Access Files, and Object Serialization | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
GUI Applications-Part 1 | |
| |
| |
| |
Introduction | |
| |
| |
| |
Dialog Boxes | |
| |
| |
| |
Creating Windows | |
| |
| |
| |
Equipping GUI Classes with a main Method | |
| |
| |
| |
Layout Managers | |
| |
| |
| |
Radio Buttons and Check Boxes | |
| |
| |
| |
Borders | |
| |
| |
| |
Focus on Problem Solving: Extending the JPanel Class | |
| |
| |
| |
Splash Screens | |
| |
| |
| |
Using Console Output to Debug a GUI Application | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
GUI Applications-Part 2 | |
| |
| |
| |
Read-Only Text Fields | |
| |
| |
| |
Lists | |
| |
| |
| |
Combo Boxes | |
| |
| |
| |
Displaying Images in Labels and Buttons | |
| |
| |
| |
Mnemonics and Tool Tips | |
| |
| |
| |
File Choosers and Color Choosers | |
| |
| |
| |
Menus | |
| |
| |
| |
More about Text Components: Text Areas and Fonts | |
| |
| |
| |
Sliders | |
| |
| |
| |
Look and Feel | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
Applets and More | |
| |
| |
| |
Introduction to Applets | |
| |
| |
| |
A Brief Introduction to HTML | |
| |
| |
| |
Creating Applets with Swing | |
| |
| |
| |
Using AWT for Portability | |
| |
| |
| |
Drawing Shapes | |
| |
| |
| |
Handling Mouse Events | |
| |
| |
| |
Timer Objects | |
| |
| |
| |
Playing Audio | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
Recursion | |
| |
| |
| |
Introduction to Recursion | |
| |
| |
| |
Solving Problems with Recursion | |
| |
| |
| |
Examples of Recursive Methods | |
| |
| |
| |
A Recursive Binary Search Method | |
| |
| |
| |
The Towers of Hanoi | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
Databases | |
| |
| |
| |
Introduction to Database Management Systems | |
| |
| |
| |
Tables, Rows, and Columns | |
| |
| |
| |
The SQL SELECT Statement | |
| |
| |
| |
Introduction to JDBC | |
| |
| |
| |
Inserting Rows | |
| |
| |
| |
Updating and Deleting Existing Rows | |
| |
| |
| |
Creating and Deleting Tables | |
| |
| |
| |
Creating a New Database with Java DB | |
| |
| |
| |
Scrollable Result Sets | |
| |
| |
| |
Result Set Meta Data | |
| |
| |
| |
Displaying Query Results in a J Table | |
| |
| |
| |
Relational Data | |
| |
| |
| |
Advanced Topics | |
| |
| |
| |
Common Errors to Avoid | |
| |
| |
Review Questions and Exercises | |
| |
| |
Programming Challenges | |
| |
| |
| |
Getting Started with Alice | |
| |
| |
Index | |
| |
| |
| |
The ASCII/Unicode Characters | |
| |
| |
| |
Operator Precedence and Associativity | |
| |
| |
| |
Java Key Words | |
| |
| |
| |
Installing the JDK and JDK Documentation | |
| |
| |
| |
Using the javadoc Utility | |
| |
| |
| |
More about the Math Class | |
| |
| |
| |
Packages | |
| |
| |
| |
Working with Records and Random-Access Files | |
| |
| |
| |
Installing Java DB | |
| |
| |
| |
The QuickSort Algorithm | |
| |
| |
| |
Answers to Checkpoints Questions | |
| |
| |
| |
Answers to Odd-Numbered Review Questions | |
| |
| |
| |
The Amortization Class | |
| |
| |
| |
The PinTester Class | |
| |
| |
| |
Parallel Arrays | |
| |
| |
| |
The Serial Number Class | |
| |
| |
| |
A Simple Text Editor Application | |