Chapter 1 Introduction to Computers and Java
1.1 Introduction
1.2 Computers:Hardware and Software
1.3 Data Hierarchy
1.4 Computer Organization
1.5 Machine Languages,Assembly Languages and High—Level Languages
1.6 Introduction to Object Technology
1.7 Operating Systems
1.8 Programming Languages
1.9 Java and a Typical Java Development Environment
1.10 Test—Driving a Java Application
1.11 Web2.0:Going So
1.12 Software Technologies
1.13 Keeping Up—to—Date with Information Technologies
1.14 Wrap—Up
Chapter 1 Introduction to Computers and Java
1.1 Introduction
1.2 Computers:Hardware and Software
1.3 Data Hierarchy
1.4 Computer Organization
1.5 Machine Languages,Assembly Languages and High—Level Languages
1.6 Introduction to Object Technology
1.7 Operating Systems
1.8 Programming Languages
1.9 Java and a Typical Java Development Environment
1.10 Test—Driving a Java Application
1.11 Web2.0:Going So
1.12 Software Technologies
1.13 Keeping Up—to—Date with Information Technologies
1.14 Wrap—Up
Chapter 2 Introduction to Java Applications
2.1 Introduction
2.2 Your First Program in Java:Printing a Line of Text
2.3 Modifying Your First Java Program
2.4 Displaying Text with printf
2.5 Another Application:Adding Integers
2.6 Memory Concepts
2.7 Arithmetic
2.8 Decision Making:Equality and Relational Operators
2.9 Wrap—Up
Chapter 3 Introduction to Classes,Objects,Methods and Strings
3.1 Introduction
3.2 Declaring a Class with a Method and Instantiating an Object of a Class
3.3 Declaring a Method with a Parameter
3.4 Instance Variables, set Methods and get Methods
3.5 Primitive Types vs.Reference Types
3.6 Initializing Objects with Constructors
3.7 Floating—Point Numbers and Type double
3.8 (Optional) GUI and Graphics Case Study: Using Dialog Boxes
3.9 Wrap—Up
Chapter 4 Control Statements: Part 1
4.1 Introduction
4.2 Algorithms
4.3 Pseudocode
4.4 Control Structures
4.5 if Single—Selection Statement
4.6 if...else Double—Selection Statement
4.7 while Repetition Statement
4.8 Formulating Algorithms: Counter—Controlled Repetition
4.9 Formulating Algorithms: Sentinel—Controlled Repetition
4.10 Formulating Algorithms: Nested Control Statements
4.11 Compound Assignment Operators
4.12 Increment and Decrement Operators
4.13 Primitive Types
4.14 (Optional) GUI and Graphics Case Study: Creating Simple Drawings
4.15 Wrap—Up
Chapter 5 Control Statements: Part 2
5.1 Introduction
5.2 Essentials of Counter—Controlled Repetition
5.3 for Repetition Statement
5.4 Examples Using the for Statement
5.5 do...while Repetition Statement
5.6 switch Multiple—Selection Statement
5.7 break and continue Statements
5.8 Logical Operators
5.9 Structured Programming Summary
5.10 (Optional) GUI and Graphics Case Study: Drawing Rectangles and Ovals
5.11 Wrap—Up
Chapter 6 Methods: A Deeper Look
6.1 Introduction
6.2 Program Modules in Java
6.3 static Methods, static Fields and Class Math
6.4 Declaring Methods with Multiple Parameters
6.5 Notes on Declaring and Using Methods
6.6 Method—Call Stack and Activation Records
6.7 Argument Promotion and Castin
6.8 Java API Packages
6.9 Case Study:Random—Number Generation
6.10 Case Study: A Game of Chance; Introducing Enumerations
6.11 Scope of Declarations
6.12 Method Overloading
6.13 (Optional) GUI and Graphics Case Study: Colors and Filled Shapes
6.14 Wrap—Up
Chapter 7 Arrays and ArrayLists
7.1 Introduction
7.2 Arrays
7.3 Declaring and Creating Arrays
7.4 Examples Using Arrays
7.5 Case Study: Card Shuffling and Dealing Simulation
7.6 Enhanced for Statement
7.7 Passing Arrays to Methods
7.8 Case Study: Class GradeBook Using an Array to Store Grades
7.9 Multidimensional Arrays
7.10 Case Study: Class GradeBook Using a Two—Dimensional Array
7.11 Variable—Length Argument Lists
7.12 Using Command—Line Argumen
7.13 Class Arrays
7.14 Introduction to Collections and Class ArrayList
7.15 (Optional) GUI and Graphics Case Study: Drawing Arcs
7.16 Wrap—Up
Chapter 8 Classes and Objects: A Deeper Look
8.1 Introduction
8.2 Time Class Case Study
8.3 Controlling Access to Members
8.4 Referring to the Current Object's Members with the this Reference
8.5 Time Class Case Study: Overloaded Constructors
8.6 Default and No—Argument Cons
8.7 Notes on Set and Get Methods
8 .8 Composition
8.9 Enumerations
8.10 Garbage Collection and Method finalize
8.11 static Class Members
8.12 static Import
8.13 final Instance Variables
8.14 Time Class Case Study: Creating Packages
8.15 Package Access
8.16 (Optional) GUI and Graphics Case Study: Using Objects with Graphics
8.17 Wrap—Up
Chapter 9 Object—Oriented Programming: Inheritance
9.1 Introduction
9.2 Superclasses and Subclasses
9.3 protected Members
9.4 Relationship between Superclasses and Subclasses
9.5 Constructors in Subclasses
9.6 Software Engineering with Inheritance
9.7 Class Object
9.8 (Optional) GUI and Graphics Case Study: Displaying Text and Images Using Labels
9.9 Wrap—Up
Chapter 10 Object—Oriented Programming: Polymorphism
10.1 Introduction
10.2 Polymorphism Examples
10.3 Demonstrating Polymorphic Behavior
10.4 Abstract Classes and Methods
10.5 Case Study: Payroll System Using Polymorphism
10.6 final Methods and Classes
10.7 Case Study: Creating and Using Interfaces
10.8 (Optional) GUI and Graphics Case Study: Drawing with Polymorphism
10.9 Wrap—Up
Chapter 11 Exception Handling:A Deeper Look
11 .1 Introduction
11.2 Example: Divide by Zero without Exception Handling
11.3 Example: Handling ArithmeticExceptions and InputMismatchExceptions
11.4 When to Use Exception Handling
11.5 Java Exception Hierarchy
11.6 finally Block
11.7 Stack Unwinding and Obtaining Information from an Exception Object
11.8 Chained Exceptions
11.9 Declaring New Exception Types
11.10 Preconditions and Postconditions
11.11 Assertions
11.12 (New in Java SE 7) Multi—catch: Handling Multiple Exceptions in One catch
11.13 (New in Java SE 7) try—with—Resources: Automatic Resource Deallocation
11.14 Wrap—Up
Chapter 12 ATM Case Study, Part 1: Object—Oriented Design with the UML
12.1 Case Study Introduction
12.2 Examining the Requirements Document
12.3 Identifying the Classes in a Requirements Document
12.4 Identifying Class Attributes
12.5 Identifying Objects' States and Activities
12.6 Identifying Class Operations
12.7 Indicating Collaboration Among Objects
12.8 Wrap—Up
Chapter 13 ATM Case Study, Part 2: Implementing an Object—Oriented Design
13.1 Introduction
13.2 Starting to Program the Classes of the ATM System
13.3 Incorporating Inheritance and Polymorphism into the ATM System
13.4 ATM Case Study Implementation
13.5 Wrap—Up
Chapter 14 GUI Components: Part 1
14.1 Introduction
14.2 Java's New Nimbus Look—and—Feel
14.3 Simple GUI—Based Input/Output with joptionPane
14.4 Overview of Swing Components
14.5 Displaying Text and Images in a Window
14.6 Text Fields and an Introduction to Event Handling with Nested Classes
14.7 Common GUI Event Types and Listener Interfaces
14.8 How Event Handling Works
14.9 JButton
14.10 Buttons That Maintain State
14.11 JComboBox; Using an Anonymous Inner Class for Event Handling
14.12 JList
14.13 Multiple—Selection Lists
14.14 Mouse Event Handling
14.15 Adapter Classes
14.16 JPanel Subclass for Drawing with the Mouse
14.17 Key Event Handling
14.18 Introduction to Layout Managers
14.19 Using Panels to Manage More Complex Layouts
14.20 JTextArea
14.21 Wrap—Up
……
Chapter 15 Graphics and Java 2D
Chapter 16 Strings, Characters and Regular Expressions
Chapter 17 Files, Streams and Object Serialization
Chapter 18 Recursion
Chapter 19 Searching, Sorting and Big O
Chapter 20 Generic Collections
Chapter 21 Generic Classes and Methods
Chapter 22 Custom Generic Data Structures
Chapter 23 Applets and Java Web Start
Chapter 24 Multimedia: Applets and Applications
Chapter 25 GUI Components: Part 2
Chapter 26 Multithreading
Chapter 27 Networking
Chapter 28 Accessing Databases with JDBC
Chapter 29 JavaServer Faces Web Apps: Part 1
Chapter 30 JavaServer Faces Web Apps: Part 2
Chapter 31 Web Services
Appendix A Operator Precedence Chart
Appendix B ASCII Character Set
Appendix C Keywords and Reserved Words
Appendix D Primitive Types
Index