Table of Contents

Foreword by Gilad Bracha
Contents
Preface
Writing the Second Edition
About This Book
Using the Book
Book Web Sites
Request for Feedback
About the Authors
Acknowledgments (First Edition)
Acknowledgments (Second Edition)
1Basics of Java Programming
1.1Introduction
1.2Classes
1.3Objects
1.4Instance Members
1.5Static Members
1.6Inheritance
1.7Aggregation
1.8Tenets of Java
1.9Java Programs
1.10Sample Java Application
2Language Fundamentals
2.1Basic Language Elements
2.2Primitive Data Types
2.3Variable Declarations
2.4Initial Values for Variables
2.5Java Source File Structure
2.6The main() Method
3Operators and Assignments
3.1Precedence and Associativity Rules for Operators
3.2Evaluation Order of Operands
3.3Conversions
3.4Simple Assignment Operator =
3.5Arithmetic Operators: *, /, %, +, -
3.6The Binary String Concatenation Operator +
3.7Variable Increment and Decrement Operators: ++, --
3.8Boolean Expressions
3.9Relational Operators: <, <=, >, >=
3.10Equality
3.11Boolean Logical Operators: !, ^, &, |
3.12Conditional Operators: &&, ||
3.13Integer Bitwise Operators: ~, &, |, ^
3.14Shift Operators: <<, >>, <<<
3.15The Conditional Operator: ?
3.16Other Operators: new, [], instanceof
3.17Parameter Passing
3.18Passing Primitive Data Values
3.19Passing Object Reference Values
3.20Passing Array References
3.21Array Elements as Actual Parameters
3.22final Parameters
3.23Program Arguments
4Declarations and Access Control
4.1Arrays
4.2Defining Classes
4.3Defining Methods
4.4Constructors
4.5Scope Rules
4.6Packages
4.7Accessibility Modifiers for Top-level Classes and Interfaces
4.8Other Modifiers for Classes
4.9Member Accessibility Modifiers
4.10Other Modifiers for Members
5Control Flow, Exception Handling, and Assertions
5.1Overview of Control Flow Statements
5.2Selection Statements
5.3Iteration Statements
5.4Transfer Statements
5.5Stack-based Execution and Exception Propagation
5.6Exception Types
5.7Exception Handling: try, catch, and finally
5.8throw Statement
5.9throws Clause
5.10Assertions
6Object-oriented Programming
6.1Single Implementation Inheritance
6.2Overriding and Hiding Members
6.3Chaining Constructors Using this() and super()
6.4Interfaces
6.5Completing the Type Hierarchy
6.6Assigning, Passing, and Casting Reference Values
6.7Polymorphism and Dynamic Method Lookup
6.8Inheritance vs. Aggregation
7Nested Classes and Interfaces
7.1Overview of Nested Classes and Interfaces
7.2Static Member Classes and Interfaces
7.3Non-static Member Classes
7.4Local Classes
7.5Anonymous Classes
8Object Lifetime
8.1Garbage Collection
8.2Initializers
9Threads
9.1Multitasking
9.2Overview of Threads
9.3Thread Creation
9.4Synchronization
9.5Thread Transitions
10Fundamental Classes
10.1Overview of the java.lang Package
10.2The Object Class
10.3The Wrapper Classes
10.4The Math Class
10.5The String Class
10.6The StringBuffer Class
11Collections and Maps
11.1The Collections Framework
11.2Collections
11.3Sets
11.4Lists
11.5Maps
11.6Sorted Sets and Sorted Maps
11.7Implementing the equals(), hashCode(), and compareTo() Methods
11.8Working with Collections
ATaking the SCPJ2 1.4 Exam
A.1Preparing for the Programmer Exam
A.2Registering for the Exam
A.3How the Examination Is Conducted
A.4The Questions
A.5Moving on to the Developer Exam
BObjectives for the SCPJ2 1.4 Exam
CObjectives for the Java 2 Platform Upgrade Exam
DAnnotated Answers to Review Questions
ESolutions to Programming Exercises
FMock Exam
GNumber Systems and Number Representation
G.1Number Systems
G.2Relationship between Binary, Octal, and Hexadecimal Numbers
G.3Converting Decimals
G.4Representing Integers
HAbout the CD
H.1Whizlabs Exam Simulators
H.2Items from the Book
Index

(621 pages)

Table of Contents can also be downloaded as a PDF.

Khalid A. Mughal   •   Rolf W. Rasmussen