The Java Tutorials have been written for JDK 8. Examples and practices described in this page don't take advantage of improvements introduced in later releases.
This page maps sections in the Java Tutorials to topics covered in the Java SE 8 Programmer I exam. This exam is associated with the Oracle Certified Associate, Java SE 8 Programmer certificate. The topics covered in this exam are:
Item 1: Define the scope of variables.
Item 2: Define the structure of a Java class.
Item 3: Create executable Java applications with a main method; run a Java program from the command line; produce console output.
Item 4: Import other Java packages to make them accessible in your code.
Item 5: Compare and contrast the features and components of Java such as: platform independence, object orientation, encapsulation, etc.
Item 1: Declare and initialize variables (including casting of primitive data types).
Item 2: Differentiate between object reference variables and primitive variables.
Item 3: Know how to read or write to object fields.
Item 4: Explain an object's lifecycle (creation, "dereference by reassignment" and garbage collection).
Item 1: Use Java operators; use parentheses to override operator precedence.
Item 2: Test equality between strings and other objects using == and equals().
Item 3: Create and use if, if-else, and ternary constructs.
Item 4: Use a switch statement.
Item 1: Declare, instantiate, initialize and use a one-dimensional array.
Item 2: Declare, instantiate, initialize and use a multi-dimensional array.
Item 1: Create and use while loops.
Item 2: Create and use for loops including the enhanced for loop.
Item 3: Create and use do-while loops.
Item 4: Compare loop constructs.
Item 5: Use break and continue.
Item 1: Create methods with arguments and return values, including overloaded methods.
Item 2: Apply the static keyword to methods and fields.
Item 3: Create an overloaded method; differentiate between default and user defined constructors.
Item 4: Apply access modifiers.
Item 5: Apply encapsulation principles to a class.
Item 6: Determine the effect upon object references and primitive values when they are passed into methods that change the values.
Item 1: Describe inheritance and its benefits.
Item 2: 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.
Item 3: Determine when casting is necessary.
Item 4: Use super and this to access objects and constructors.
Item 5: Use abstract classes and interfaces.
Item 1: Differentiate among checked exceptions, RuntimeException, and Error.
Item 2: Create a try-catch block and determine how exceptions alter normal program flow.
Item 3: Describe the advantages of exception handling .
Item 4: Create and invoke a method that throws an exception.
Item 5: Recognize common exception classes and categories (such as NullPointerException, ArithmeticException, ArrayIndexOutOfBoundsException, ClassCastException).
Item 1: Manipulate data using the StringBuilder class and its methods.
Item 2: Create and manipulate strings.
Item 3: Create and manipulate calendar data using classes from java.time.LocalDateTime, java.time.LocalDate, java.time.LocalTime, java.time.format.DateTimeFormatter, java.time.Period.
Item 4: Declare and use an ArrayList of a given type.
Item 5: Write a simple Lambda expression that consumes a Lambda Predicate expression.