Enthuware, 2019. — 662 p.
OCP Oracle Certified Professional Java SE 11 Programmer Part 1 Exam Fundamentals is a comprehensive study guide for those taking the Oracle Certified Professional Java SE 11 Programmer I Exam (Exam Code 1Z0-815).
With complete coverage of 100% of the exam objectives, this book provides everything you need to know to take the exam confidently. Written by an expert with more than 20 years of industry experience, the book also helps you ace technical interviews by making you aware of things that technical managers focus on.
The Java 11 exam requires you to learn new features of the language including modules, generics, and functional programming. This book covers all such topics thoroughly. The book also includes coding exercises that will get you moving on "write a lot of code" front. The book makes it easy to get your doubts cleared by including links to existing discussion on a particular topic. If the existing discussion doesn't address your doubt, you can see more clarification from the Author.
This book DOES NOT include mock exams. It is meant to complement Enthuware Mock Exams and should be used as a study guide before or while attempting the mock Exams.
The following are the exam objectives as of this writing:
Understanding Java Technology and environmentDescribe Java Technology and the Java development environment
Identify key features of the Java language
Working With Java Primitive Data Types and String APIsDeclare and initialize variables (including casting and promoting primitive data types)
Identify the scope of variables
Use local variable type inference
Create and manipulate Strings
Manipulate data using the StringBuilder class and its methods
Working with Java ArraysDeclare, instantiate, initialize and use a one-dimensional array
Declare, instantiate, initialize and use two-dimensional array
Creating and Using MethodsCreate methods and constructors with arguments and return values
Create and invoke overloaded methods
Apply the static keyword to methods and fields
Reusing Implementations Through InheritanceCreate and use subclasses and superclasses
Create and extend abstract classes
Enable polymorphism by overriding methods
Utilize polymorphism to cast and call methods, differentiating object type versus reference type
Distinguish overloading, overriding, and hiding
Handling ExceptionsDescribe the advantages of Exception handling and differentiate among checked exceptions, unchecked exceptions, and Errors
Create a try-catch block and determine how exceptions alter normal program flow
Create and invoke a method that throws an exception
Creating a Simple Java ProgramCreate an executable Java program with a main class
Compile and run a Java program from the command line Create and import packages
Using Operators and Decision ConstructsUse Java operators including the use of parenthesis to override operator precedence
Use Java control statements including if, else, break and continue
Create and use do/while loops, while loop, and for looping statements including nested loops
Describing Objects and ClassesDeclare and instantiate Java objects, and explain objects' lifecycles (including creation, dereferencing by reassignment, and garbage collection)
Define the structure of a Java class
Read or write to object fields
Applying EncapsulationApply access modifiers
Apply encapsulation principles to a class
Programming Abstractly Through InterfacesCreate and implement interfaces
Distinguish class inheritance from interface inheritance including abstract classes
Declare and use List and ArrayList instances
Understanding lambda Expressions
Understanding ModulesDescribe the Modular JDK
Declare modules and enable access between modules Describe how a modular project is compiled and run