Table Of Contents
Preface Chapter 1 Introduction to Computers and Java 1.1 Introduction 1.2 Why Program? 1.3 Computer Systems: Hardware and Software 1.4 Programming Languages 1.5 W hat Is a Program Made of? 1.6 The Programming Process 1.7 Object-Oriented Programming Review Questions and Exercises Programming Challenge Chapter 2 Java Fundamentals 2.1 The Parts of a Java Program 2.2 The print and println Methods, and the Java API 2.3 Variables and Literals 2.4 Primitive Data Types 2.5 Arithmetic Operators 2.6 Combined Assignment Operators 2.7 Conversion between Primitive Data Types 2.8 Creating Named Constants with final 2.9 The String Class 2.10 Scope 2.11 Comments 2.12 Programming Style 2.13 Reading Keyboard Input 2.14 Dialog Boxes 2.15 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 3 Decision Structures 3.1 The if Statement 3.2 The if-else Statement 3.3 The if-else-if Statement 3.4 Nested if Statements 3.5 Logical Operators 3.6 Comparing String Objects . 3.7 More about Variable Declaration and Scope 3.8 The Conditional Operator (Optional) 3.9 The switch Statement 3.10 Creating Objects with the DecimalFormat Class 3.11 The printf Method 3.12 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 4 Loops and Files 4.1 The Increment and Decrement Operators 4.2 The while Loop 4.3 Using the while Loop for Input Validation 4.4 The do-while Loop 4.5 The for Loop 4.6 Running Totals and Sentinel Values 4.7 Nested Loops 4.8 The break and continue Statements (Optional) 4.9 Deciding Which Loop to Use 4.10 Introduction to File Input and Output 4.11 The Random Class 4.12 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 5 Methods 5.1 Introduction to Methods 5.2 Passing Arguments to a Method 5.3 More about Local Variables 5.4 Returning a Value from a Method 5.5 Problem Solving with Methods 5.6 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 6 A First Look at Classes 6.1 Classes and Objects 6.2 Instance Fields and Methods 6.3 Constructors 6.4 Overloading Methods and Constructors 6.5 Scope of Instance Fields 6.6 Packages and import Statements 6.7 Focus on Object-Oriented Design: Finding the Classes and Their Responsibilities 6.8 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 7 A First Look at GUI Applications 7.1 Introduction 7.2 Creating Windows 7.3 Equipping GUI Classes with a main Method 7.4 Layout Managers 7.5 Radio Buttons and Check Boxes 7.6 Borders 7.7 Focus on Problem Solving: Extending Classes from JPanel 7.8 Using Console Output to Debug a GUI Application 7.9 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 8 Arrays and the ArrayList Class 8.1 Introduction to Arrays 8.2 Processing Array Elements 8.3 Passing Arrays As Arguments to Methods 8.4 Some Useful Array Algorithms and Operations 8.5 Returning Arrays from Methods 8.6 String Arrays 8.7 Arrays of Objects 8.8 The Sequential Search Algorithm 8.9 Two-Dimensional Arrays 8.10 Arrays with Three or More Dimensions 8.11 Command-Line Arguments and Variable-Length Argument Lists 8.12 The ArrayList Class 8.13 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 9 A Second Look at Classes and Objects 9.1 Static Class Members 9.2 Passing Objects As Arguments to Methods 9.3 Returning Objects from Methods 9.4 The toString Method 9.5 Writing an equals Method 9.6 Methods That Copy Objects 9.7 Aggregation 9.8 The this Reference Variable 9.9 Enumerated Types 9.10 Garbage Collection 9.11 Focus on Object-Oriented Design: Class Collaboration 9.12 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 10 Text Processing and More about Wrapper Classes 10.1 Introduction to Wrapper Classes 10.2 Character Testing and Conversion with the Character Class 10.3 More String Methods 10.4 The StringBuffer Class 10.5 Tokenizing Strings 10.6 Wrapper Classes for the Numeric Data Types 10.7 Focus on Problem Solving: The TestScoreReader Class 10.8 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 11 Inheritance 11.1 What Is Inheritance? 11.2 Calling the Superclass Constructor 11.3 Overriding Superclass Methods 11.4 Protected Members 11.5 Chains of Inheritance 11.6 T he Object Class 11.7 Polymorphism 11.8 Abstract Classes and Abstract Methods 11.9 Interfaces 11.10 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 12 Exceptions and More about Stream I/O 12.1 Handling Exceptions 12.2 Throwing Exceptions 12.3 More about Input/Output Streams 12.4 Advanced Topics: Binary Files, Random Access Files, and Object Serialization 12.5 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 13 Advanced GUI Applications 13.1 T he Swing and AWT Class Hierarchy 13.2 Read-Only Text Fields 13.3 Lists 13.4 Combo Boxes 13.5 Displaying Images in Labels and Buttons 13.6 Mnemonics and Tool Tips 13.7 File Choosers and Color Choosers 13.8 Menus 13.9 More about Text Components: Text Areas and Fonts 13.10 Sliders 13.11 Look and Feel 13.12 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 14 Applets and More 14.1 Introduction to Applets 14.2 A Brief Introduction to HTML 14.3 Creating Applets with Swing 14.4 Using AWT for Portability 14.5 Drawing Shapes 14.6 Handling Mouse Events 14.7 Timer Objects 14.8 Playing Audio 14.9 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 15 Recursion 15.1 Introduction to Recursion 15.2 Solving Problems with Recursion 15.3 Examples of Recursive Methods 15.4 T he Towers of Hanoi 15.5 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 16 Sorting, Searching, and Algorithm Analysis 16.1 Introduction to Sorting Algorithms 16.2 Introduction to Search Algorithms 16.3 Analysis of Algorithms 16.4 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 17 Generics 17.1 Introduction to Generics 17.2 Writing a Generic Class 17.3 Passing Objects of a Generic Class to a Method 17.4 Writing Generic Methods 17.5 Constraining a Type Parameter in a Generic Class 17.6 Inheritance and Generic Classes 17.7 Defining Multiple Type Parameters 17.8 Generics and Interfaces 17.9 Erasure 17.10 Restrictions on the Use of Generic Types 17.11 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 18 Collections 18.1 Introduction to the Java Collections Framework 18.2 Lists 18.3 Sets 18.4 Maps 18.5 The Collections Class 18.6 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 19 Array-Based Lists 19.1 Introduction to Lists 19.2 Creating an Array-Based List to Hold String Objects 19.3 Creating a Generic Array-Based List 19.4 Writing Iterator Classes and Iterable Lists Review Questions and Exercises Programming Challenges Chapter 20 Linked Lists 20.1 Introduction to Linked Lists 20.2 Operations on Linked Lists 20.3 Doubly-Linked and Circularly-Linked Lists 20.4 Recursion on Linked Lists 20.5 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 21 Stacks and Queues 21.1 S tacks and Their Applications 21.2 Array Implementation of Stacks 21.3 Linked Implementation of Stacks 21.4 Queues and Their Applications 21.5 Array Implementation of Queues 21.6 Linked List Implementation of Queues 21.7 Generic Implementation of Stacks and Queues 21.8 Common Errors to Avoid Review Questions and Exercises Programming Challenges Chapter 22 Binary Trees, AVL Trees, and Priority Queues 22.1 Binary Trees and Their Applications 22.2 Binary Search Trees 22.3 A VL Trees 22.4 Priority Queues 22.5 Common Errors to Avoid Review Questions and Exercises Programming Challenges Index Student CD-ROM: Appendix A The ASCII/Unicode Characters Appendix B Operator Precedence and Associativity Appendix C Java Key Words Appendix D Installing the JDK and JDK Documentation Appendix E Using the javadoc Utility Appendix F More about the Math Class Appendix G Packages Appendix H Working with Records and Random Access Files Appendix I Using JBuilder 8 Appendix J More about JOptionPane Dialog Boxes Appendix K Answers to Checkpoints Appendix L Answers to Odd-Numbered Review Questions Case Study 1 Calculating Sales Commission Case Study 2 The Amortization Class Case Study 3 The PinTester Class Case Study 4 Parallel Arrays Case Study 5 The FeetInches Class Case Study 6 The SerialNumber Class Case Study 7 A Simple Text Editor Application |