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