OCAJP 11 vs OCAJP 8 1Z0-808 1Z0-815 Comparison

OCAJP 8 vs OCP Java 11 Exam Objectives Comparison

The following table compares the exams objectives of the new Java 11 Programmer - I (1Z0-815) exam with the old Java 8 Associate (1Z0-808) exam:
Extra Topics in OCPJP - I SE 11 1Z0-815 Extra Topics in OCAJP 8 1Z0-808
Highlighed in RED FONT in the table below.
Working with Selected classes from the Java API
  • Create and manipulate calendar data using classes from java.time.LocalDateTime, java.time.LocalDate, java.time.LocalTime, java.time.format.DateTimeFormatter, java.time.Period

Develop code that uses wrapper classes such as Boolean, Double, and Integer
OCPJP - I SE 11 1Z0-815 Exam Topics OCAJP 8 1Z0-808 Exam Topics
Understanding Java Technology and environment
  • Describe Java Technology and the Java development environment
  • Identify key features of the Java language
Java Basics
  • Compare and contrast the features and components of Java such as: platform independence, object orientation, encapsulation, etc.
Creating a Simple Java Program
  • Create an executable Java program with a main class
  • Compile and run a Java program from the command line
  • Create and import packages
Java Basics
  • Create executable Java applications with a main method; run a Java program from the command line; produce console output
  • Import other Java packages to make them accessible in your code
Describing Objects and Classes
  • Define the structure of a Java class
  • Read or write to object fields
  • Declare and instantiate Java objects, and explain objects' lifecycles (including creation, dereferencing by reassignment, and garbage collection)
Java Basics
  • Define the structure of a Java class
Working With Java Data Types
  • Know how to read or write to object fields
  • Explain an Object's Lifecycle (creation, "dereference by reassignment" and garbage collection)
  • Develop code that uses wrapper classes such as Boolean, Double, and Integer
Working With Java Primitive Data Types and String APIs
  • Declare 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
Java Basics
  • Define the scope of variables
Working With Java Data Types
  • Declare and initialize variables (including casting of primitive data types)
  • Differentiate between object reference variables and primitive variables
  • Develop code that uses wrapper classes such as Boolean, Double, and Integer
Working with Selected classes from the Java API
  • Manipulate data using the StringBuilder class and its methods
  • Create and manipulate Strings
Working with Java Arrays
  • Declare, instantiate, initialize and use a one-dimensional array
  • Declare, instantiate, initialize and use two-dimensional array
Creating and Using Arrays
  • Declare, instantiate, initialize and use a one-dimensional array
  • Declare, instantiate, initialize and use multi-dimensional arrays
Using Operators and Decision Constructs
  • Use 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
Using Operators and Decision Constructs
  • Use Java operators; use parentheses to override operator precedence
  • Test equality between Strings and other objects using == and equals ()
  • Create if and if/else and ternary constructs
  • Use a switch statement
Using Loop Constructs
  • Create and use while loops
  • Create and use for loops including the enhanced for loop
  • Create and use do/while loops
  • Compare loop constructs
  • Use break and continue
Creating and Using Methods
  • Create methods and constructors with arguments and return values
  • Create and invoke overloaded methods
  • Apply the static keyword to methods and fields
Working with Methods and Encapsulation
  • Create methods with arguments and return values; including overloaded methods
  • Determine the effect upon object references and primitive values when they are passed into methods that change the values
  • Apply the static keyword to methods and fields
  • Create and overload constructors; differentiate between default and user defined constructors
Applying Encapsulation
  • Apply access modifiers
  • Apply encapsulation principles to a class
Working with Methods and Encapsulation
  • Apply access modifiers
  • Apply encapsulation principles to a class
Reusing Implementations Through Inheritance
  • Create 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
Working with Inheritance
  • Describe inheritance and its benefits
  • Develop code that makes use of polymorphism; develop code that overrides methods; differentiate between the type of a reference and the type of an object
  • Determine when casting is necessary
  • Use super and this to access objects and constructors
  • Use abstract classes
Programming Abstractly Through Interfaces
  • Create and implement interfaces
  • Distinguish class inheritance from interface inheritance including abstract classes
  • Declare and use List and ArrayList instances
  • Understanding lambda Expressions
Working with Inheritance
  • Use interfaces
Working with Selected classes from the Java API
  • Declare and use an ArrayList of a given type
  • Write a simple Lambda expression that consumes a Lambda Predicate expression
Handling Exceptions
  • Describe 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
Handling Exceptions
  • Describe the advantages of Exception handling
  • 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
  • Recognize common exception classes (such as NullPointerException, ArithmeticException, ArrayIndexOutOfBoundsException, ClassCastException)
Understanding Modules
  • Describe the Modular JDK
  • Declare modules and enable access between modules
  • Describe how a modular project is compiled and run