Errata: August 20, 2019
Thank you for purchasing OCA Java SE 8 Programmer I Certification Guide. If you find errors not listed below, please note them in the LiveBook errata thread. We'll update this list as necessary. Thank you!
All items have been corrected in the print version. The author is currently working on a new edition.

Chapter 1, Page 28

Comment in the second code snippet from bottom of the page:

Outputs /*
Harry */ Paul

should be:

Outputs /* Harry */ Paul

Chapter 1, Page 61, Section 1.4.5

private members are accessible only to the classes and interfaces in which they're defined.

should be:

private members are accessible only to the classes in which they're defined.

Chapter 2, Page 112, Table 2.9

The first row in the Operators column, is missing operator %=.

Chapter 2, Page 132

The method:

public int increment(Integer obj) {
    return ++i;
}

should be:

public int increment(Integer obj) {
    return ++obj;
}

Chapter 4, Page 238, Topic - 'Equality of values returned by String methods'

String returnValue1 = lang1.substring(0,1);
String returnValue2 = lang2.substring(0,1);

should be:

String returnValue1 = lang1.substring(0,2);
String returnValue2 = lang2.substring(0,2);

Chapter 4, Page 287

In the paragraph, right after the second exam tip, the following line:
You can also parse a string to instantiate Period by using its static method parse. This method parses string values of the format PnYnMnD or PnW, where n represents a number and the letters (P, Y, M, D, and W) represent parse, year, month, day, and week.

should be:

You can also parse a string to instantiate Period by using its static method parse. This method parses string values of the format PnYnMnD or PnW, where n represents a number and the letters (Y, M, D, and W) represent year, month, day, and week.

Chapter 6, Page 416, Figure 6.16

In the rectangle that shows changing of an abstract method to a static method (row 2, column 2), class Animal shouldn't include definition of method maxDistance();

Chapter 6, Page 437

Failing to use the same method name, same argument list, or same return type won't mark a method as an overridden method.

should be:

Failing to use the same method name, same argument list, or same return type (or its subclass) won't mark a method as an overridden method.

Chapter 6, Pages 459 and 466

Code of class TestEJava:

class TestEJava {
    Programmer a = new Programmer();
    // INSERT CODE HERE
    a.print();
    b.print();
}

should include the main method, as follows, so that it can output the string values:

class TestEJava {
    public static void main(String[] args) {
        Programmer a = new Programmer();
        // INSERT CODE HERE
        a.print();
        b.print();
    }
}