Table 3 includes a complete list of exam objectives for the OCA Java SE 8 Programmer I exam, which was taken from Oracle’s website. All the objectives are mapped to the book’s chapters and the section numbers that cover them.
Exam objectives |
Covered in chapter/section |
|
---|---|---|
1 | Java basics | Chapters 1 and 3 |
1.1 | Define the scope of variables | Section 3.1 |
1.2 | Define the structure of a Java class | Section 1.1 |
1.3 | Create executable Java applications with a main method; run a Java program from the command line, including console output | Section 1.2 |
1.4 | Import other Java packages to make them accessible in your code | Section 1.3 |
1.5 | Compare and contrast the features and components of Java, such as platform independence, object orientation, encapsulation, and so on | Section 1.6 |
2 | Working with Java data types | Chapters 2 and 3 |
2.1 | Declare and initialize variables (including casting of primitive data types) | Sections 2.1 and 2.3 |
2.2 | Differentiate between object reference variables and primitive variables | Sections 2.1 and 2.3 |
2.3 | Know how to read and write to object fields | Section 3.6 |
2.4 | Explain an object’s lifecycle (creation, “dereference by reassignment,” and garbage collection) | Section 3.2 |
2.5 | Develop code that uses wrapper classes such as Boolean, Double, and Integer | Section 2.5 |
3 | Using 0perators and decision constructs | Chapters 2, 4, and 5 |
3.1 | Use Java operators, including parentheses to override operator precedence | Section 2.4 |
3.2 | Test equality between Strings and other objects using == and equals() | Sections 4.1 and 4.5 |
3.3 | Create if and if/else and ternary constructs | Section 5.1 |
3.4 | Use a switch statement | Section 5.2 |
4 | Creating and using arrays | Chapter 4 |
4.1 | Declare, instantiate, initialize, and use a one-dimensional array | Section 4.3 |
4.2 | Declare, instantiate, initialize, and use a multidimensional array | Section 4.3 |
5 | Using loop constructs | Chapter 5 |
5.1 | Create and use while loops | Section 5.5 |
5.2 | Create and use for loops, including the enhanced for loop | Sections 5.3 and 5.4 |
5.3 | Create and use do-while loops | Section 5.5 |
5.4 | Compare loop constructs | Section 5.6 |
5.5 | Use break and continue | Section 5.7 |
6 | Working with methods and encapsulation | Chapters 1 and 3 |
6.1 | Create methods with arguments and return values, including overloaded methods | Sections 3.3 and 3.4 |
6.2 | Apply the static keyword to methods and fields | Section 1.5 |
6.3 | Create and overload constructors, including impact on default constructors | Section 3.5 |
6.4 | Apply access modifiers | Section 1.4 |
6.5 | Apply encapsulation principles to a class | Section 3.7 |
6.6 | Determine the effect on object references and primitive values when they are passed into methods that change the values | Section 3.8 |
7 | Working with inheritance | Chapters 1 and 6 |
7.1 | Describe inheritance and its benefits | Sections 6.1 and 6.2 |
7.2 | Develop code that demonstrates the use of polymorphism, including overriding and object type versus reference type | Sections 6.3 and 6.6 |
7.3 | Determine when casting is necessary | Section 6.4 |
7.4 | Use super and this to access objects and constructors | Section 6.5 |
7.5 | Use abstract classes and interfaces | Sections 1.5, 6.1, 6.2, and 6.6 |
8 | Handling exceptions | Chapter 7 |
8.1 | Differentiate among checked exceptions, unchecked exceptions, and errors | Section 7.2 |
8.2 | Create a try-catch block and determine how exceptions alter normal program flow | Section 7.4 |
8.3 | Describe the advantages of exception handling | Section 7.1 |
8.4 | Create and invoke a method that throws an exception | Sections 7.3 and 7.4 |
8.5 | Recognize common exception classes (such as NullPointerException, Arithmetic-Exception, ArrayIndexOutOfBoundsException, ClassCastException) | Section 7.5 |
9 | Working with selected classes from the Java API | Chapters 4 and 6 |
9.1 | Manipulate data using the StringBuilder class and its methods | Section 4.2 |
9.2 | Creating and manipulating Strings | Section 4.1 |
9.3 | Create and manipulate calendar data using classes from java.time.Local-DateTime, java.time.LocalDate, java.time.LocalTime, java.time.format.DateTimeFormatter, and java.time.Period | Section 4.6 |
9.4 | Declare and use an ArrayList of a given type | Section 4.4 |
9.5 | Write a simple lambda expression that consumes a lambda predicate expression | Section 6.7 |
18.119.136.84