SKIP THE SHIPPING
Use code NOSHIP during checkout to save 40% on eligible eBooks, now through January 5. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This PDF will be accessible from your Account page after purchase and requires PDF reading software, such as Acrobat® Reader®.
The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Unique among Java tutorials, A Programmer’s Guide to Java® SE 8 Oracle Certified Associate (OCA): A Comprehensive Primer combines an integrated, expert introduction to Java SE 8 with comprehensive coverage of Oracle’s new Java SE 8 OCA exam 1Z0-808.
Based on Mughal and Rasmussen’s highly regarded guide to the original SCJP Certification, this streamlined volume has been thoroughly revised to reflect major changes in the new Java SE 8 OCA exam. It features an increased focus on analyzing code scenarios and not just individual language constructs, and each exam objective is thoroughly addressed, reflecting the latest Java SE 8 features, API classes, and best practices for effective programming.
Other features include
Figures xix
Tables xxi
Examples xxiii
Foreword xxvii
Preface xxix
Chapter 1: Basics of Java Programming 1
1.1 Introduction 2
1.2 Classes 2
1.3 Objects 4
1.4 Instance Members 6
1.5 Static Members 7
1.6 Inheritance 10
1.7 Associations: Aggregation and Composition 12
1.8 Tenets of Java 13
1.9 Java Programs 15
1.10 Sample Java Application 16
1.11 Program Output 18
1.12 The Java Ecosystem 21
Chapter 2: Language Fundamentals 27
2.1 Basic Language Elements 28
2.2 Primitive Data Types 37
2.3 Variable Declarations 40
2.4 Initial Values for Variables 42
Chapter 3: Declarations 47
3.1 Class Declarations 48
3.2 Method Declarations 49
3.3 Constructors 53
3.4 Arrays 58
3.5 Parameter Passing 72
3.6 Variable Arity Methods 81
3.7 The main() Method 85
3.8 Enumerated Types 87
Chapter 4: Access Control 95
4.1 Java Source File Structure 96
4.2 Packages 97
4.3 Searching for Classes 107
4.4 Scope Rules 114
4.5 Accessibility Modifiers for Top-Level Type Declarations 118
4.6 Non-Accessibility Modifiers for Classes 120
4.7 Member Accessibility Modifiers 123
4.8 Non-Accessibility Modifiers for Members 131
Chapter 5: Operators and Expressions 143
5.1 Conversions 144
5.2 Type Conversion Contexts 147
5.3 Precedence and Associativity Rules for Operators 150
5.4 Evaluation Order of Operands 152
5.5 Representing Integers 154
5.6 The Simple Assignment Operator = 158
5.7 Arithmetic Operators: *, /, %, +, - 163
5.8 The Binary String Concatenation Operator + 174
5.9 Variable Increment and Decrement Operators: ++, -- 176
5.10 Boolean Expressions 180
5.11 Relational Operators: <, <=, >, >= 180
5.12 Equality 181
5.13 Boolean Logical Operators: !, ^, &, | 184
5.14 Conditional Operators: &&, || 186
5.15 Integer Bitwise Operators: ~, &, |, ^ 189
5.16 The Conditional Operator: ?: 194
5.17 Other Operators: new, [], instanceof, -> 195
Chapter 6: Control Flow 199
6.1 Overview of Control Flow Statements 200
6.2 Selection Statements 200
6.3 Iteration Statements 213
6.4 Transfer Statements 219
6.5 Stack-Based Execution and Exception Propagation 230
6.6 Exception Types 233
6.7 Exception Handling: try, catch, and finally 238
6.8 The throw Statement 249
6.9 The throws Clause 251
6.10 Advantages of Exception Handling 254
Chapter 7: Object-Oriented Programming 263
7.1 Single Implementation Inheritance 264
7.2 Overriding Methods 268
7.3 Hiding Members 275
7.4 The Object Reference super 276
7.5 Chaining Constructors Using this() and super() 282
7.6 Interfaces 290
7.7 Arrays and Subtyping 309
7.8 Reference Values and Conversions 311
7.9 Reference Value Assignment Conversions 312
7.10 Method Invocation Conversions Involving References 315
7.11 Reference Casting and the instanceof Operator 320
7.12 Polymorphism and Dynamic Method Lookup 329
7.13 Inheritance versus Aggregation 331
7.14 Basic Concepts in Object-Oriented Design 334
Chapter 8: Fundamental Classes 341
8.1 Overview of the java.lang Package 342
8.2 The Object Class 342
8.3 The Wrapper Classes 346
8.4 The String Class 357
8.5 The StringBuilder and StringBuffer Classes 374
Chapter 9: Object Lifetime 383
9.1 Garbage Collection 384
9.2 Reachable Objects 384
9.3 Facilitating Garbage Collection 386
9.4 Object Finalization 390
9.5 Finalizer Chaining 391
9.6 Invoking Garbage Collection Programmatically 393
9.7 Initializers 399
9.8 Field Initializer Expressions 400
9.9 Static Initializer Blocks 402
9.10 Instance Initializer Blocks 404
9.11 Constructing Initial Object State 406
Chapter 10: The ArrayList<E> Class and Lambda Expressions 413
10.1 The ArrayList<E> Class 414
10.2 Lambda Expressions 433
Chapter 11: Date and Time 461
11.1 Basic Date and Time Concepts 462
11.2 Working with Temporal Classes 462
11.3 Working with Periods 476
11.4 Formatting and Parsing 486
Appendix A: Taking the Java SE 8 Programmer I Exam 507
A.1 Preparing for the Exam 507
A.2 Registering for the Exam 508
A.3 How the Exam Is Conducted 510
A.4 The Questions 511
Appendix B: Exam Topics: Java SE 8 Programmer I 515
Appendix C: Annotated Answers to Review Questions 519
Appendix D: Solutions to Programming Exercises 553
Appendix E: Mock Exam: Java SE 8 Programmer I 571
Appendix F: Annotated Answers to Mock Exam I 605
Index 619