Book description
OCP Oracle Certified Professional Java SE 17 Developer Exam 1Z0-829 Programmer's Guide is a unique guide that combines a rigorous introduction to programming in Java with meticulous coverage of the Java SE 17 and Java SE 11 Developer exam objectives. Fully updated to reflect changes in the latest exams, it features increased focus on analyzing code scenarios--not just individual language constructs. Each objective is thoroughly addressed, reflecting the latest features and APIs, as well as best practices for taking the exam. The one book anyone studying for Java SE 17 Developer or Java SE 11 Developer certification needs, it features
Easy to find coverage of key topics relevant to each exam objective
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, streams, modules, concurrency, Java I/O, key API classes and much more
Program output demonstrating expected results from complete Java programs
Unique diagrams to illustrate important concepts, such as Java I/O, modules, and streams
Extensive use of UML (Unified Modeling Language) to illustrate program design
Dozens of review questions with annotated answers to help prepare for the exam and a complete Mock Exam
Table of contents
- Cover Page
- Title Page
- Contents
- Table of Contents
- Figures
- Tables
- Examples
- Foreword
- Preface
- 1. Basics of Java Programming
-
2. Basic Elements, Primitive Data Types, and Operators
- 2.1 Basic Language Elements
- 2.2 Primitive Data Types
- 2.3 Conversions
- 2.4 Type Conversion Contexts
- 2.5 Precedence and Associativity Rules for Operators
- 2.6 Evaluation Order of Operands
- 2.7 The Simple Assignment Operator =
- 2.8 Arithmetic Operators: *, /, %, +, -
- 2.9 The Binary String Concatenation Operator +
- 2.10 Variable Increment and Decrement Operators: ++, --
- Review Questions
- 2.11 Boolean Expressions
- 2.12 Relational Operators: <, <=, >, >=
- 2.13 Equality
- 2.14 Boolean Logical Operators: !, ^, &, |
- 2.15 Conditional Operators: &&, ||
- 2.16 Integer Bitwise Operators: ~, &, |, ^
- 2.17 Shift Operators: <<, >>, >>>
- 2.18 The Conditional Operator ?:
- 2.19 Other Operators: new, [], instanceof, ->
- Review Questions
-
3. Declarations
- 3.1 Class Declarations
- 3.2 Method Declarations
- 3.3 Statements
- 3.4 Variable Declarations
- 3.5 Instance Methods and the Object Reference this
- 3.6 Method Overloading
- 3.7 Constructors
- 3.8 Static Member Declarations
- Review Questions
- 3.9 Arrays
- 3.10 Parameter Passing
- 3.11 Variable Arity Methods
- 3.12 The main() Method
- 3.13 Local Variable Type Inference
- Review Questions
-
4. Control Flow
- 4.1 Selection Statements
- 4.2 The switch Statement
- 4.3 The switch Expression
- Review Questions
- 4.4 Iteration Statements
- 4.5 The while Statement
- 4.6 The do-while Statement
- 4.7 The for(;;) Statement
- 4.8 The for(:) Statement
- 4.9 Transfer Statements
- 4.10 Labeled Statements
- 4.11 The break Statement
- 4.12 The continue Statement
- 4.13 The return Statement
- Review Questions
-
5. Object-Oriented Programming
- 5.1 Implementing Inheritance
- 5.2 The Object Reference super
- 5.3 Chaining Constructors Using this() and super()
- Review Questions
- 5.4 Abstract Classes and Methods
- 5.5 Final Declarations
- Review Questions
- 5.6 Interfaces
- Review Questions
- 5.7 Arrays and Subtyping
- 5.8 Reference Values and Conversions
- 5.9 Reference Value Assignment Conversions
- 5.10 Method Invocation Conversions Involving References
- 5.11 Reference Casting and the instanceof Operator
- 5.12 Polymorphism
- Review Questions
- 5.13 Enum Types
- 5.14 Record Classes
- 5.15 Sealed Classes and Interfaces
- Review Questions
- 6. Access Control
-
7. Exception Handling
- 7.1 Stack-Based Execution and Exception Propagation
- 7.2 Exception Types
- 7.3 Exception Handling: try, catch, and finally
- 7.4 The throw Statement
- 7.5 The throws Clause
- Review Questions
- 7.6 The Multi-catch Clause
- 7.7 The try-with-resources Statement
- 7.8 Advantages of Exception Handling
- Review Questions
- 8. Selected API Classes
- 9. Nested Type Declarations
-
10. Object Lifetime
- 10.1 Garbage Collection
- 10.2 Reachable Objects
- 10.3 Facilitating Garbage Collection
- 10.4 Invoking Garbage Collection Programmatically
- Review Questions
- 10.5 Initializers
- 10.6 Field Initializer Expressions
- 10.7 Static Initializer Blocks
- 10.8 Instance Initializer Blocks
- 10.9 Constructing Initial Object State
- Review Questions
-
11. Generics
- 11.1 Introducing Generics
- 11.2 Generic Types and Parameterized Types
- 11.3 Collections and Generics
- 11.4 Wildcards
- 11.5 Using References of Wildcard Parameterized Types
- 11.6 Bounded Type Parameters
- 11.7 Generic Methods and Constructors
- 11.8 Implementing a Simplified Generic Stack
- Review Questions
- 11.9 Wildcard Capture
- 11.10 Flexibility with Wildcard Parameterized Types
- 11.11 Type Erasure
- 11.12 Implications for Overloading and Overriding
- 11.13 Limitations and Restrictions on Generic Types
- Review Questions
- 12. Collections, Part I: ArrayList<E>
-
13. Functional-Style Programming
- 13.1 Functional Interfaces
- 13.2 Lambda Expressions
- 13.3 Lambda Expressions and Anonymous Classes
- Review Questions
- 13.4 Overview of Built-In Functional Interfaces
- 13.5 Suppliers
- 13.6 Predicates
- 13.7 Consumers
- 13.8 Functions
- 13.9 Two-Arity Specialization of Function<T,R>: BiFunction<T,U,R>
- 13.10 Extending Function<T,T>: UnaryOperator<T>
- 13.11 Extending BiFunction<T,T,T>: BinaryOperator<T>
- 13.12 Currying Functions
- 13.13 Method and Constructor References
- 13.14 Contexts for Defining Lambda Expressions
- Review Questions
- 14. Object Comparison
-
15. Collections: Part II
- 15.1 The Java Collections Framework
- 15.2 Collections
- 15.3 Lists
- 15.4 Sets
- 15.5 Sorted Sets and Navigable Sets
- 15.6 Queues
- 15.7 Deques
- Review Questions
- 15.8 Maps
- 15.9 Map Implementations
- 15.10 Sorted Maps and Navigable Maps
- Review Questions
- 15.11 The Collections Class
- 15.12 The Arrays Class
- Review Questions
- 16. Streams
-
17. Date and Time
- 17.1 Date and Time API Overview
- 17.2 Working with Dates and Times
- 17.3 Using Temporal Units and Temporal Fields
- 17.4 Working with Instants
- 17.5 Working with Periods
- 17.6 Working with Durations
- 17.7 Working with Time Zones and Daylight Savings
- 17.8 Converting Date and Time Values to Legacy Date
- Review Questions
- 18. Localization
-
19. Java Module System
- 19.1 Making the Case for Modules
- 19.2 The Modular JDK
- 19.3 Module Basics
- 19.4 Overview of Module Directives
- 19.5 Creating a Modular Application
- 19.6 Compiling and Running a Modular Application
- 19.7 Creating JAR Files
- 19.8 Open Modules and the opens Directive
- 19.9 Services
- 19.10 Creating Runtime Images
- 19.11 Categories of Modules
- 19.12 Migrating to Modules
- 19.13 Exploring Modules
- 19.14 Summary of Selected Operations with the JDK Tools
- Review Questions
- 20. Java I/O: Part I
-
21. Java I/O: Part II
- 21.1 Characteristics of a Hierarchical File System
- 21.2 Creating Path Objects
- 21.3 Working with Path Objects
- 21.4 Operations on Directory Entries
- 21.5 Reading and Writing Files Using Paths
- 21.6 Managing File Attributes
- 21.7 Creating Directory Entries
- 21.8 Stream Operations on Directory Entries
- Review Questions
- 22. Concurrency: Part I
- 23. Concurrency: Part II
-
24. Database Connectivity
- 24.1 Introduction to Relational Databases
- 24.2 Introduction to JDBC
- 24.3 Establishing a Database Connection
- 24.4 Creating and Executing SQL Statements
- 24.5 Processing Query Results
- 24.6 Customizing Result Sets
- 24.7 Discovering Database and ResultSet Metadata
- 24.8 Implementing Transaction Control
- Review Questions
- 25. Annotations
- 26. Secure Coding
- A. Taking the Java SE 17 and Java SE 11 Developer Exams
- B. Exam Topics: Java SE 17 Developer
- C. Exam Topics: Java SE 11 Developer
-
D. Annotated Answers to Review Questions
- 1 Basics of Java Programming
- 2 Basic Elements, Primitive Data Types, and Operators
- 3 Declarations
- 4 Control Flow
- 5 Object-Oriented Programming
- 6 Access Control
- 7 Exception Handling
- 8 Selected API Classes
- 9 Nested Type Declarations
- 10 Object Lifetime
- 11 Generics
- 12 Collections, Part I: ArrayList<E>
- 13 Functional-Style Programming
- 14 Object Comparison
- 15 Collections: Part II
- 16 Streams
- 17 Date and Time
- 18 Localization
- 19 Java Module System
- 20 Java I/O: Part I
- 21 Java I/O: Part II
- 22 Concurrency: Part I
- 23 Concurrency: Part II
- 24 Database Connectivity
- 25 Annotations
- 26 Secure Coding
- E. Mock Exam: Java SE 17 Developer
- F. Annotated Answers to Mock Exam
- G. Java Logging API Overview
Product information
- Title: OCP Oracle Certified Professional Java SE 17 Developer (Exam 1Z0-829) Programmer's Guide
- Author(s):
- Release date: February 2023
- Publisher(s): Oracle Press
- ISBN: 9780137993857
You might also like
book
OCP Oracle Certified Professional Java SE 17 Developer Study Guide
An effective and practical study aid to the new OCP Java SE 17 Developer certification exam …
book
OCP Oracle Certified Professional Java SE 11 Developer Complete Study Guide
As of October 1, 2020, the OCP Java SE 11 Programmer I Exam 1Z0-815 and Programmer …
book
OCP Oracle Certified Professional Java SE 17 Developer Practice Tests
Efficiently and effectively prepare for the OCP Java SE 17 certification exam In OCP Oracle Certified …
book
OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808
Full coverage of functional programming and all OCA Java Programmer exam ojectives OCA, Oracle Certified Associate …