Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA), A

Authors:

Language: English
Cover of the book Programmer's Guide to Java SE 8 Oracle Certified Associate (OCA), A

Subject for Programmer's Guide to Java SE 8 Oracle Certified...

Approximative price 57.17 €

In Print (Delivery period: 12 days).

Add to cartAdd to cart
Publication date:
688 p. · 18x23.1 cm · Paperback

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

  • Summaries that clearly state what topics to read for each objective of the Java SE 8 OCA exam
  • Dozens of exam-relevant review questions with annotated answers
  • Programming exercises and solutions to put theory into practice
  • A mock exam with realistic questions to find out if you are ready to take the official exam
  • An introduction to essential concepts in object-oriented programming (OOP) and functional-style programming
  • In-depth coverage of declarations, access control, operators, flow control, OOP techniques, lambda expressions, key API classes, and more
  • Program output demonstrating expected results from complete Java programs
  • Advice on avoiding common pitfalls in writing Java code and on taking the certification exam
  • Extensive use of UML (Unified Modeling Language) for illustration purposes

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

Khalid A. Mughal is an associate professor at the Department of Informatics, University of Bergen, Norway. During his extensive career, he has designed and implemented many courses on Java, object-oriented system development, web application development, software security, and compiler techniques. He has also given seminars for the IT industry. He is the principal author of two programming books on Java.

 

Rolf W. Rasmussen is a system development manager at Vizrt, a company that develops real-time graphics systems for broadcast media. Previously he worked on clean-room implementations of the Java class libraries. He is a coauthor of two programming books on Java.

  • The definitive, complete tutorial and prep guide for the new Oracle Certified Associate (OCA) exam for Java SE 8: fully revised and updated
  • The only book to combine an integrated, up-to-date guide to Java with comprehensive OCA review
  • Supports the exam's increased focus on analyzing code scenarios, not just individual language constructs
  • Covers declarations, initialization, scoping, flow control, key APIs, concurrency, objects, collections, generics, access control, and more
  • Provides valuable code examples, hands-on exercises, review questions, and several full practice exams