Java OCA 8 Programmer I Study Guide

OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808

Jeanne Boyarsky and Scott Selikoff developed a study guide for the new Oracle Certified Associate (OCA), Java SE 8 Programmer exam. The book, OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z04-808 is published by  Wiley Publishing.

We are using this blog to publish information about the book such as objectives changes and any errata found within the book. To report an error in the book that is not yet listed here, please create a thread in the OCA forum and include “Sybex OCA Java 8 Study Guide” in the subject.

For those wanting to take the Oracle Java 8 OCA Exam, the official release was on January 10th. For more information, visit Oracle’s Java SE 8 Programmer I exam page. If you have any questions for us, feel free to post in the OCA forum at CodeRanch which Jeanne and Scott visit frequently.

Key links

Where to buy it

Length/score

Oracle has a tendency to change this information from time to time. As of May 14, 2017:

  • Length: 2 hours (was two hours originally, then 2.5, then back to 2)
  • # Questions: 56 (was 77 questions originally, then 80, then 70 and now 56)
  • Passing score: 65%

Changes to the objectives

  • None so far

Online Material

Blog posts related to OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z1-808:

Errata

The table is sortable so you can see focus on the errata by criticality, chapter or see the ones added since you last checked. To report a potential error, please create a thread at http://www.coderanch.com/forums/f-117/ocajp. Be sure to include “Sybex” and the chapter and/or page number in the subject.

Note: If you got the second printing of this book (late 2016), most of these errata have been corrected.

Page Chapter # Error Type of error Reported by/via Confirmed on Listed on Wiley’s errata Fixed in 2nd printing*
xxvii Intro Develop code that uses wrapper classes such as Boolean, Double, and Integer should be listed as being in chapter 3, not chapter 1 Typo Malik Ashter Mehdy 2018-08-11 No No
xxxiv Intro #9 – there is a stray “a” after (Choose all that apply) Typo (e-book only) Alex 2014-12-171 Yes Yes
xxxvi Intro #12 – choice C should read Color: white rather than Color: White Typo Chris McDowell 2016-07-22 No No
xxxvooo Intro #17 – choice D should end with 5)); rather than 5); Typo Igor Soudakevitch 2016-11-27 Pending No
xxxix Intro #1 – “a_b defaults to a null value” should be “$ defaults to 0” Error in mock explanation Mushfiq Mammadov 2015-10-11 Yes No
xxxix Intro #3 – The answer is correct. In the explanation, “Puma is invalid” should be “Cougar is invalid” for the explanation for D. And “E is incorrect” should be “E is correct”. In the second printing, we introduced a regression error. It should be “since the declaration in the parent iass Puma is invalid” and then “the declaration of Puma is invalid” Error in mock explanation Alan Couze 2015-08-03 Yes Partially
xxxix Intro #4 – The answer is correct. In the explanation, the first bullet should say “starts” rather than “continues” and the assignment of 1, 2, etc is to count. The complex expression spelled out is y. Also, in the second bullet, 1 + 4 should say 1 + 5. Error in mock explanation Elena Felder and Alan Couze 2015-04-04 and 2015-08-03 Yes Yes
xxxix Intro #4 – If you have the second printing, bullet 3 should say (1+4) % 3 and 5 % 3 rather (1+5) % 3 and 4 % 3. Error in mock explanation Olivier Ska 2016-11-17 Pending No
xli Intro #10 – “Reference one points to g1” should be “Reference one points to g2” Error in mock explanation Mushfiq Mammadov 2015-10-11 Yes Yes
xli Intro #13 – “options D and E are correct” should be “options D and E are incorrect” Error in mock explanation Diarmuid Naughton 2015-10-11 Yes Yes
xli Intro #13 – “since the pre-increment operator” should be “since the pre-decrement operator” Error in mock explanation Vitaliy Ovcharenk 2017-05-14 TBD TBD
xli Intro #13 – “Since luck is not less than 10” should be “Since luck is not greater than 10” Error in mock explanation Ganesh Pateka 2017-11-29 TBD TBD
xli Intro #14 – All reference to “array” in the explanation should be “List” Error in mock explanation Late Preteen 2021-06-30 TBD TBD
xlii Intro #16 – The answer is correct.  “because an interface may inherit two abstract methods with the same signature” should be “ a class”, not “an interface”. The statement isn’t wrong, but in the question it’s a class. Error in mock explanation Elena Felder 2015-04-04 Yes Yes
xlii Intro #17 – The answer is correct. In the second to last sentence, “not inferring predicates” should be “of inferring predicates” Error in mock explanation Guram Savinov 2017-10-15 No No
4 Chapter 1 “each of these five words is in” should be “six words.” Typo Kevin Abel 2015-03-xx Yes Yes
8 Chapter 1 The stack trace should have “mainmethod.” removed. Also, it should refer to line 4 rather than line 7 Typo Michel Parisien 2015-12-26 Yes Yes
10 Chapter 1 In the fourth line of the second paragraph, “From example” should be “For example”. Typo Michel Parisien 2015-12-26 Yes Yes
12 Chapter 1 The import should be java.nio.file.Paths not java.nio.files.Paths. Typo Mushfiq Mammadov 2015-03-20 Yes Yes
18 Chapter 1 The middle code block should have } instead of { on line 5. Typo Gabriel Jesus 2015-02-xx Yes Yes
21 Chapter 1 In the first sentence, “their size in bytes” should be “their size in bits” Typo Bart Presso 2018-01-15 Yes No
30 Chapter 1 The compiler error message at the top of the page should refer to line 7 rather than line 5. Typo Michel Parisien 2015-12-26 Yes Yes
31 Chapter 1 At the end of the second paragraph, “simplest type it can give the value” should be “simplest value it can give the type” Typo Michel Parisien 2015-12-26 Yes Yes
Chapter 1 review questions (e-book only) Chapter 1 In some of the review questions, the line break is missing between the code that would be in different files. You can assume that each package statement starts a new file. Rendering error Tom Keegan 2015-12-26 Pending No
53 Chapter 2 On the first line of table 2.1, ~ should be in the other unary operators section. And on the last line of the table,  !=, should be |=. (This isn’t on the exam though so don’t worry). Typo Steve Aaron 2015-04-02 Yes Yes
54 Chapter 2 In “resulting in a value of x of 7. Make sure you understand why the result is 24”, the 7 and 24 should be 14 Typo Edward Rance 2015-02-03 Yes Yes
54 Chapter 2 In “int x = 2 * ((5 + 3) * 4 – 8); This time you would evaluate the addition operator 10 + 3 “, the 10 should be 5. Typo Edward Rance 2015-02-03 Yes Yes
54 Chapter 2 In the third to last paragraph, “except boolean and String” should be “except boolean” since String is not a primitive Incorrect fact Juliet Smith 2015-07-28 Pending No
55 Chapter 2 In the first paragraph “9 to 12” should be “11 to 12” Typo Mike Kenyon 2017-08-11 Pending No
55 Chapter 2 In the note “floating-point integers” should be “floating-point numbers” Typo Olivier Ska 2016-11-17 Pending No
57 Chapter 2 In the second sentence, “multiplied” should be “divided”. Typo Mushfiq Mammadov 2015-07-01 Yes Yes
58 Chapter 2 In the second to last sentence of the last paragraph, “the value return” should be “the value returned” Typo Tia Smith 2017-07-10 No No
61 Chapter 2 9l should be 9f on the first row Typo Mushfiq Mammadov 2015-03-30 Yes Yes
62 Chapter 2 “The compound operator will first cast x to a long” – “x” should be “y” Typo Gabriel Jesus 2015-02-24 Yes Yes
64 Chapter 2 Figure 2.1 says “true tables” rather than “truth tables” Typo Dan 2015-02-xx Yes Yes
69 Chapter 2 “block of statement” should be “block of statements” Typo Michel Parisien 2015-12-27 Yes Yes
71 Chapter 2 The first code example shouldn’t have “final” so the ternary operator is equivalent. Typo Jan Stückrath 2016-01-19 Yes Yes
72 Chapter 2 There’s no reason to mention Java 7 in the sidebar about the ternary operator. The behavior hasn’t changed. Typo Mathias Bader 2015-04-11 Yes Yes
73 Chapter 2 “int and Integer” is listed twice in the bulleted list. Typo Scott Selikoff 2014-11-xx Yes Yes
82 Chapter 2 In the first example on the page, System.out.print(x) should be removed Typo Elena Felder 2015-04-04 Yes Yes
82 Chapter 2 At the bottom of the page, “In the first example, y and z were both long” should be “In the multiple terms example, y and z were both long” Typo Gabriel Jesus 2015-02-26 Yes Yes
83 Chapter 2 Figure 2.8 says “semicolon” rather than “colon” when pointing to a colon Typo Dan 2015-02-xx Yes Yes
83 Chapter 2 In Figure 2.8, the title should be “enhanced for-each statement” rather than “enhancement for statement” Typo Roel De Nijs 2015-04-02 Yes Yes
86 Chapter 2 In the second for loop example on the page, there should be a comma in the code to match the output. Typo Mushfiq Mammadov 2015-04-02 Yes Yes
87 Chapter 2 The table should have “7” indented one less space. So “7” should be aligned the “9” above it. Typo
Igor Dvorkin
2020-09-19 TBD TBD
87 Chapter 2 The semicolon is missing after x-=2 Typo
Tawanda Douglas Muringani/a>
2017-03-10 TBD TBD
91 Chapter 2 In table 2.5, the second table header should be “Allows unlabeled break” Factual Matt Road 2015-10-02 Yes Yes
95 Chapter 2 Mock Question #6 – The code on line 6 should say “Just Right” rather than “Just right”. Typo Igor Soudakevitch 2016-11-19 Pending No
96 Chapter 2 Mock Question #8 – Answers C & E are duplicates. Conveniently, they are both wrong so this doesn’t affect the answer. Typo Mushfiq Mammadov 2015-04-06 Yes Yes
102 Chapter 3 In the third to last paragraph “of type name” should be “named name” Typo Charles O’Leary 2017-05-07 No No
107 Chapter 3 The type of the second parameter for indexOf() should be an int. Also, the first parameters is an int, not a char. (But on the exam, you’ll only be passed a char.) Note: this was partially correct in the second printing. Typo Mushfiq Mammadov 2015-04-08 Yes Partially
107 Chapter 3 The return type for the substring() methods should be String not int. Typo Cedric Georges 2015-03-18 Yes Yes
108 Chapter 3 The method signatures for toLowerCase() and toUpperCase() are wrong. They do not take a String parameter. Typo Mushfiq Mammadov 2015-04-08 Yes Yes
108 Chapter 3 In the fifth paragraph, “second example in this set throws an exception because the indexes can be backward” should be “can’t” Typo Elena Felder 2015-04-04 Yes Yes
109 Chapter 3 The method signature for equals() takes an Object, rather than a String. This also could use some explanation that on the exam, you’ll only get passed a String even though the method allows anything to be passed in. (As you might guess, if you pass anything that isn’t a String, the method returns false). Similarly, other methods allow any CharSequence, but you only have to know String. Typo Mushfiq Mammadov 2015-04-08 Yes Yes
111 Chapter 3 String result = lowercase.replace(‘a’, ‘A’); incorrectly shows the output as “Animal”. It should be “AnimAl” Wrong output Chris Kuyler 2015-01-26 Yes Yes
111 Chapter 3 In the third paragraph, the sentence that begins with “It also creates” should end with “AnimAl” instead of “Animal” as should the comment Wrong output Tomas Castagnino 2017-05-20 No No
111 Chapter 3 In the third paragraph, there is a stray quote. “‘C’ should be ‘C’ Typo Mushfiq Mammadov 2015-04-15 Yes Yes
115 Chapter 3 On line 6, the comment should have a dash at the end Typo Mushfiq Mammadov 2015-07-10 Yes Yes
118 Chapter 3 In the code example, line 7 should have been t1 == t3. It’s not wrong as is, but not what we intended Typo Mushfiq Mammadov 2015-07-06 Yes Yes
120 Chapter 3 On the first line, “set all the elements” should be “all elements are set” Typo Elena Felder 2015-04-04 Yes Yes
120 Chapter 3 On the first line, “set all the elements” should be “all elements are set” Typo Elena Felder 2015-04-04 Yes Yes
123 Chapter 3 “element of number to 5” should be “element of numbers to 5” Typo Lake Greene 2020-12-26 Yes Yes
124 Chapter 3 Instead of “variable” for length, it should say “field” Typo Roel De Nijs 2015-08-01 Yes Yes
124 Chapter 3 There is a stray “L” at the beginning of the second line of the for loop. Typo Chris Kuyler 2015-01-26 Yes Yes
125 Chapter 3 In the last paragraph, “line 5 searches for the index of 1” should be “line 6”. Typo Elena Felder 2015-04-01 Yes Yes
126 Chapter 3 In the first paragraph, “line 3 (or 4) gave the wrong answer” should be line 7. Typo Mushfiq Mammadov 2015-04-15 Yes No
126 Chapter 3 The second to last sentence of the second to last paragraph should end with “the target is in” rather than “the target it is” Typo Igor Soudakevitch 2016-11-19 Pending No
126 Chapter 3 The type of numbers should be int[] rather than int. Typo Cedric Georges 2015-03-24 Yes Yes
127 Chapter 3 On line 5, “There'” should be “There’s” Typo Olivier Ska 2016-11-17 Reported No
127 Chapter 3 The variable in the last line of code should be “differentSizes” rather than “different size” Typo Igor Soudakevitch 2016-11-19 Pending No
129 Chapter 3 The first import is missing the semicolon. Typo Mushfiq Mammadov 2015-04-15 Yes Yes
136 Chapter 3 In the last paragraph of the Autoboxing section, “outputs 1” should be “outputs [1] Typo Mushfiq Mammadov 2015-03-07 Yes Yes
137 Chapter 3 In the second paragraph, “is also known a backed List” should be “is also known as a backed List” Typo Ian Gatenby 2017-03-16 No No
137 Chapter 3 In the comment on line 26, “UnsupportedOperation Exception” should be “UnsupportedOperationException” Typo Philippe De Neve 2017-06-19 No No
138 Chapter 3 On the sixth line of code the // is missing after the semicolon Typo Igor Soudakevitch 2016-11-19 Yes Yes
141 Chapter 3 Month.January should be Month.JANUARY Typo Murat 2018-12-15 No No
141 Chapter 3 The last method signature is missing the variable name time. (The data type is there though). Typo Cedric Georges 2015-03-23 Yes Yes
141 Chapter 3 In the code example, a semicolon is missing when creating the LocalDate Typo Mushfiq Mammadov 2015-03-23 Yes Yes
142 Chapter 3 In the first paragraph, Calendar was introduce in 1.2, not 1.1. Typo Igor Soudakevitch 2016-11-19 Pending No
143 Chapter 3 In the second to last example, date 2 should be date. Typo Mushfiq Mammadov 2015-04-15 Yes Yes
146 Chapter 3 LocalDateTime has a toEpochSecond() method, not a toEpochTime() method Wrong API Cedric Georges 2015-03-28 Yes Yes
147 Chapter 3 wrong = Period.ofWeeks(7); –> should be replaced with : wrong = Period.ofWeeks(1); Typo Cedric Georges 2015-03-23 Yes Yes
148 Chapter 3 The line with LocalDateTime is missing a line break before the println Typo Scott Selikoff 2015-08-28 Yes Yes
150 Chapter 3 In the dd description, it should say single-digit date rather than month Typo Mushfiq Mammadov 2015-04-15 Yes Yes
168 Chapter 4 In the first paragraph of “Optional Specifiers”, it says “And since it is optional, you can’t have any of them at all.” This should say “And since it is optional, you are allowed to not have any of them at all.” Bad English on our part! Typo Elena Felder 2015-04-04 Yes Yes
170 Chapter 4 the long() method has a stray ] at the end of of it Typo Helen Colson 2014-05-15 Yes Yes
170 Chapter 4 the long() method doesn’t compile both because of the return type and the method name. (A better name for the method would have been better, such as longMethod.) Typo Mathias Bader 2014-04-13 Yes Yes
172 Chapter 4 The first sentence after three lines of code says: “Walk1() is a valid method declaration without an empty method body.” It should be “with”. Typo Mathias Bader 2014-04-14 Yes Yes
172 Chapter 4 public void walk2; should be public void walk2(); Typo Mushfiq Mammadov 2014-09-04 Yes Yes
173 Chapter 4 Second line before heading: “Line 20 calls a vararg parameter two parameters” should be “Line 20 calls a vararg method with two parameters.” Typo Mathias Bader 2014-04-14 Yes Yes
178 Chapter 4 In the comment on line 3, “bird” should be “Bird” Typo Igor Soudakevitch 2016-11-27 Pending No
179 Chapter 4 “Bird is not a subclass of Bird” should say “Bird is not a subclass of Goose” Typo Jan Stückrath 2016-01-19 Yes Yes
184 Chapter 4 Line 14 of the code is missing the type. It should be double Typo Mushfiq Mammadov 2014-04-21 Yes Yes
184 Chapter 4 Table 4.3 is incorrect (and confusing.) An instance method or variable can be called using a reference variable from any context. Was trying to convey that you can call a static method from an instance method but not vice versa (when no reference variables are involved) Confusing/incorrect table Suresh Regmi 2015-07-24 Yes Yes
187 Chapter 4 In the big paragraph, the last sentence should say “when static imports shine” rather than “when static interfaces shine” Typo Mike Kenyon 2017-08-27 No No
188 Chapter 4 The last line should read newNumber(num) to be a proper example of pass by value Typo Mushfiq Mammadov 2015-04-28 Yes Yes
191 Chapter 4 In the fourth paragraph, fifth sentence, “numbers” should be “number” Typo Mushfiq Mammadov 2015-04-28 Yes Yes
191 Chapter 4 In the first sentence of the overloading methods section, it should say “same name” not “same signature” Typo Mushfiq Mammadov 2015-04-27 Yes Yes
192 Chapter 4 “everything other than the method signature can vary for overloaded methods”. This should be method name and not method signature. Typo Elena Felder 2015-04-04 Yes Yes
192 Chapter 4 The fly methods that take and int and short should print different things. In particular, the first should print int. Typo Mathias Bader 2014-04-14 Yes Yes
194 Chapter 4 There should be space at the end of both example outputs. In the second paragraph “string object” should be “string object ”. In the second paragraph of “Primitives” section “int long” should be “int long ” and “long long” should be “long long ”. Unfortunately, it is difficult to represent spaces in output, so we should have used a dash or some other visible character. Typo Mushfiq Mammadov 2015-04-27 Yes Yes
199 Chapter 4 “When overloading methods, the method name and parameter list needed to match.” is incorrect. Just the method name needed to match. The whole point is that the parameter list does not match! Incorrect fact Elena Felder 2015-04-04 Yes Yes
203 Chapter 4 In the third sentence “lines 4 and 5 should be “lines 4, 5 and 6” when referring to the static initializer. In the second printing it says lines 5 and 6. Typo Mushfiq Mammadov 2014-09-04 Yes Partially
204 Chapter 4 After “output Torchie”, it should say “Line 6 then outputs 1.” In the second printing, the period is missing Typo Steve Aaron 2015-04-02 Yes Partially
206 Chapter 4 Table 4.5 is incorrect. It is legal (but less common) for a boolean getter to begin with get rather than is. This means that line 14 is just fine as a boolean getter. Incorrect fact I Danilov 2015-03-17 Yes Yes
209 Chapter 4 “that that” has a duplicate word on the seventh line Typo Mushfiq Mammadov 2014-09-04 Yes Yes
210 Chapter 4 The example with line numbers 1-18 should either include the java.util import or not start with line 1. Missing import Mushfiq Mammadov 2015-05-01 Yes Yes
211 Chapter 4 “Java replies” should be “Java relies”. Typo Elena Felder 2015-04-04 Yes Yes
211 Chapter 4 The first code example under Lambda Syntax (canHop) should not have a semi-colon. Typo Mushfiq Mammadov 2014-09-04 Yes Yes
213 Chapter 4 “Lambdas are allowed to access variables” is in the real world scenario twice. The first sentence should be removed. Typo Elena Felder 2015-04-04 Yes Yes
216 Chapter 4 In the summary section, (a -> a.equals(b) has an extra open paren. It should be a-> a.equals(b) Typo Mushfiq Mammadov 2015-05-01 Yes Yes
219 Chapter 4 #7 – ClassRoom should be Classroom. The actual code is correct. Typo Elena Felder 2015-04-04 Yes Yes
219 Chapter 4 #7 – In line 6, there is an extra quote. Typo Mathias Bader 2014-04-14 Yes Yes
222 Chapter 4 #11 – answers D and E should have an extra space at the end Missing spaces Mushfiq Mammadov 2015-05-01 Yes Yes
226 Chapter 4 #19 – In the choice G, the closing } is missing. Give yourself if you got the answer right except for leaving out G. Typo Mushfiq Mammadov 2015-05-01 Yes Yes
229 Chapter 4 #25 – answers A through D should have an extra space at the end Missing spaces Mushfiq Mammadov 2015-05-01 Yes Yes
229 Chapter 4 #25 – 1000L should be 100L. This doesn’t affect the correct answer. Typo Mushfiq Mammadov 2015-12-19 Yes Yes
237 Chapter 5 In the paragraph after the note, the second sentence should not say “can be accessed only by a subclass”. That would be protected, default access. Incorrect fact Willyan Silva 2016-02-03 Pending No
239 Chapter 5 “user” should be “use” in “Notice the user of both super() and super(age)” Typo Cedric Georges 2015-05-14 Yes Yes
241 Chapter 5 In the last sentence of paragraph 2, “Java compile” should be “Java compiler” Typo Igor Soudakevitch 2016-11-27 Pending No
246 Chapter 5 The phrase “a method” is duplicated near the end of the page Typo Mushfiq Mammadov 2015-05-10 Yes Yes
247 Chapter 5 The numbers output should be 50.0 and 70.0, not 50.00 and 70.00 Typo Mushfiq Mammadov 2015-05-10 Yes Yes
249 Chapter 5 In “since the signature changes from a no-argument constructor to a constructor”, the word “constructor” should be “method” both times. Typo Peter Deak 2016-02-18 Yes Yes
249 Chapter 5 “the return type void is not a subclass of int” is reversed. Swap int and void in the sentence Typo Cedric Georges 2015-05-14 Yes Yes
249 Chapter 5 In the last paragraph, “on the example” should be “on the exam” Typo Jan Stückrath 2016-01-19 Yes Yes
254 Chapter 5 “Overriding vs. Hiding Methods” section, the second paragraph, the second sentence should refer to super rather than a static method to refer to a superclass method. Typo Mushfiq Mammadov 2015-05-14 Yes Yes
261 Chapter 5 In the first sentence, “brackets” should be “braces”.  ({} are braces, [] are brackets) Typo Elena Felder 2015-04-04 Yes Yes
262 Chapter 5 In the second paragraph, “access modified” should be “access modifier” Typo Unknown user 2018-07-28 Yes No
263 Chapter 5 The second to last sentence in the second paragraph should read “The key point is that the first concrete class to extend the abstract class must implement all inherited abstract metthods. Typo Bram Vonk 2015-12-15 Yes Yes
265 Chapter 5 The third rule for abstract classes is incomplete. You aren’t allowed protected abstract classes either. Protected classes aren’t on the exam, but the protected keyword is so a reader might be wondering.Protected inner abstract classes, as well as private, are allowed, so page should be updated to remove private, not add protected. Incomplete statement Ben Pittens 2016-01-15 Yes Yes
267 Chapter 5 The fourth rule for interfaces is incorrect. An interface is allowed to (but discouraged) from having the abstract modifier. It’s use is discouraged although you may see it in the cert exam. Incorrect fact I Danilov 2015-03-18 Yes Yes
269 Chapter 5 “using the extend keyword” should be “using the extends keyword” Typo Cedric Georges 2015-06-04 Yes Yes
272 Chapter 5 The second Bear class should have //DOES NOT COMPILE on line 1 as well. Typo Mushfiq Mammadov 2015-09-29 Yes Yes
274 Chapter 5 “The compile will” should be “The compiler will” Typo Cedric Georges 2015-06-04 Yes Yes
276 Chapter 5 At the bottom of the page, “the following class” should say “the following interface” Typo Mushfiq Mammadov 2015-09-29 Yes Yes
285 Chapter 5 At the bottom of the page, the coding “Feeding reptile” should be “Feeding: “ Typo Mushfiq Mammadov 2015-09-29 Yes Yes
289 Chapter 5 It would be clearer if “Parent methods and objects can be accessed explicitly using the super keyword.” was “Parent methods and instance variables can be accessed explicitly using the super keyword.” Typo Juliet Smith 2015-08-04 Pending No
337 Chapter 5 In the polymorphism exam essentials, “the ability of methods” should be “the ability of method parameters” Typo Vlad Alin 2021-12-07 No No
290 Chapter 5 The last word on the page should be “ClassCastException” rather than “CastClassException” Typo Juliet Smith 2015-08-04 Pending No
291 Chapter 5 #2 – Choice E should reference line 7, not line 8 Typo Mushfiq Mammadov 2015-05-15 Yes Yes
294 Chapter 5 #10 – In choice C, “extend” should be “extends” Typo Roel De Nijs 2015-09-29 Yes Yes
295 Chapter 5 #13 – The { is missing on line 1 of the provided code Typo Mushfiq Mammadov 2015-05-15 Yes Yes
301 Chapter 6 mainmethod.Zoo.main should be Zoo.main and line 7 should be line 4 in the stack trace Typo Mushfiq Mammadov 2015-10-06 Reported No
308 Chapter 6 “The catch block runs and she gets a hug on line 17. Then the try statement is over and the code proceeds on line 21. ” – This misses the fact that finally is run first. Incorrect fact Habtamu Abebe 2017-10-28 No No
311 Chapter 6 “making sure there no way” should be “making sure there is no way” Typo Tom Jacobs 2019-01-20 No No
312 Chapter 6 The text says the exception is not caught from close(), but it is. Old text Cedric Georges 2015-07-26 Reported No
313 Chapter 6 On the first line “runs after the try block” should be “runs after the catch block” Typo Mushfiq Mammadov 2015-10-06 Pending No
313 Chapter 6 There should be spaces in the before/catch/etc example. Unfortunately, it is difficult to represent spaces in output, so we should have used a dash or some other visible character. Typo Saad Benbouzid 2015-07-24 Yes Yes
314 Chapter 6 In the ClassCastException section, “cast an exception to a subclass” should be “cast an object to a subclass” Typo Vince Botteman 2015-06-17 Yes Yes
316 Chapter 6 The setNumberEggs method should not be static Typo Mushfiq Mammadov 2015-10-06 Pending No
317 Chapter 6 “Common runtime exceptions” should be “Common checked exceptions” Typo Vince Botteman 2015-06-17 Yes Yes
335 Chapter 1 mock explanation #12 – “If this question were about instance variables, options D and F would be correct”. This should be “options C, D and F would be correct” Error in mock explanation Olivier Ska 2016-11-17 Pending No
335 Chapter 1 mock explanation #12 – the explanation should end with “0.0f” rather than “0.0” Error in mock explanation Guram Savinov 2017-11-14 Pending No
335 Chapter 1 mock explanation #14 – The answer is correct. The explanation about case sensitivity applies to why C is wrong rather why B is wrong Error in mock explanation Mushfiq Mammadov 2015-03-20 Yes Yes
337 Chapter 2 mock explanation #7 – The answer is correct. The explanation should say “Since x is greater than 4″ rather than “Since x is greater than 2”. – not an error Error in mock explanation Vlad Alin 2021-12-07 No N/A
338 Chapter 2 mock explanation #13 – The answer is correct. The explanation should say “b is assigned true on line 5″ instead of “b is assigned true on line 3”. Error in mock explanation Shavkat Juraev 2018-02-11 No No
338 Chapter 2 mock explanation #14 – The answer is correct. The second sentence should say “so c is incremented to 8” not “so c is incremented to 4” Error in mock explanation Scott Selikoff 2018-12-05 No No
338 Chapter 2 mock explanation #14 – The answer is correct. The explanation should say “The value of result is computed by adding 8 to the original value of 4” rather than the other way around. Error in mock explanation Steve Aaron 2015-04-02 Yes Yes
338 Chapter 2 mock explanation #17 – The answer is correct. The explanation should say “keepGoing remains true” rather than “keep going is false. Error in mock explanation Mushfiq Mammadovand Cian Gardiner 2015-04-07 Reported Yes
338 Chapter 2 mock answer #18 – The answer explanation is correct that the answer should be B. It is incorrectly listed as choice A in the answer listing. Error in mock explanation Dominik Bauer 2015-04-30 Reported No
338 Chapter 2 mock explanation #18 – The first sentence should be “The expression on line 6” rather than “The expression on line 5” Error in mock explanation Olivier Ska 2016-11-17 Pending Yes
339 Chapter 2 mock explanation #19 – The answer is correct. The second to last sentence of the explanation should say “6 > 7” rather than “6 < 7”. Error in mock explanation Christian Dadulla 2018-02-01 No No
339 Chapter 3 mock explanation #2 – The answer is correct. The explanation should say “Line 8 also compares references but is true since both references point to the object from the string pool. Finally, line 9 compares one object from the string pool with one that was explicitly constructed and returns false.”. Error in mock explanation Cedric Georges 2015-03-29 Yes Yes
340 Chapter 3 mock explanation #4 -abbbaa has an extra b. There should only be two b’s. Typo Mushfiq Mammadov 2015-03-23 Yes Yes
340 Chapter 3 mock explanation #9 -“Finally, on line 6” should be “Finally, on line 7” Typo Charles O’Leary 2017-05-20 No No
340 Chapter 3 mock explanation #10 – The answer is correct. The explanation should read “The if statement on line 18 returns true because”. Error in mock explanation Cedric Georges 2015-03-29 Yes Yes
341 Chapter 3 mock explanation #14 – The answer is correct. The explanation assumes choice B is puzzle.reverse().append(“vaJ$”).substring(0, 4); So while the answer choice for B in the book isn’t what was intended, it is at least still wrong. Error in mock explanation Mushfiq Mammadov 2015-04-20 Yes Yes
341 Chapter 3 mock explanation #14 – In the second printing, the answer is correct. The explanation should say that length counts the number of characters in a string. Error in mock explanation Roel De Nijs 2015-04-20 Yes Yes
342 Chapter 3 mock explanation #26 – The answer is correct. The explanation should say that the code does compile, not that it doesn’t. Error in mock explanation Cedric Georges 2015-03-30 Yes Yes
344 Chapter 4 mock answers #9. The correct answer is A, C and E. But if you got C and E, give yourself credit for getting it correct. The chapter text is incorrect on this, but the exam doesn’t cover this edge case. (In fact, it doesn’t cover JavaBeans at all. That is in the book, in case it is added back in). Error in mock answer I Danilov 2015-03-17 Yes Yes
344 Chapter 4 mock explanation #10, should say “swing ” instead of “swing” (missing space) Typo Mushfiq Mammadov 2015-05-01 Yes Yes
344 Chapter 4 mock explanation #15 – We autobox to objects so it should say “can be autoboxed to a Boolean” rather than “boolean.” And “autoboxed to a Double” rather than “double”. Error in mock explanation Elena Felder 2015-04-04 Yes Yes
344 Chapter 4 mock explanation #17 – “pass by reference” should be “pass by value” Typo Mushfiq Mammadov 2014-09-04 Yes Yes
345 Chapter 4 mock explanation #23 line 4 should say line 12 and line 5 should say line 13 Error in mock explanation Mushfiq Mammadov 2015-05-01 Yes Yes
346 Chapter 5 mock explanation #2 – The answer is correct. The comment about what would happen if the code did compile is incorrect. The code was intended to instantiate a Platypus rather than a Mammal Error in mock explanation Paul F.J. Aranas 2015-05-15 Yes Yes
347 Chapter 5 mock explanation #3 – CanHope should be CanHop Typo Mushfiq Mammadov 2015-05-15 Yes Yes
347 Chapter 5 mock explanation #8 – The first sentence should note that that constants are also final in an interface Typo Mushfiq Mammadov 2015-09-29 Yes Yes
348 Chapter 5 mock explanation #18 – The answer should say that String is not a subclass of int rather than the reverse Typo Mushfiq Mammadov 2015-09-29 Yes Yes
350 Chapter 6 mock explanation #8 – “try try” should be “the try” Typo Mushfiq Mammadov 2015-05-24 Yes Yes
350 Chapter 6 mock explanation #9 – there should be space at the end of both example outputs. Unfortunately, it is difficult to represent spaces in output, so we should have used a dash or some other visible character. Typo Mushfiq Mammadov 2015-05-24 Reported No
355 Appendix In the second to last paragraph, “to the take the exam” should be “to take the exam” Typo Mario Rincon 2018-10-03 Reported No

Online materials:

Online material type Original error Type of error Reported by Date confirmed Reported to test vendor fixed
Mock exam 1 A question asks what could be output if an exception is thrown or not in method e(). The answer of D and E is incorrect because choice E is incorrect. Choice E should be abc followed by an Exception. (Which means give yourself credit if you answered D only). Online practice exam incorrect answer. Jeanne Boyarsky 2015-04-09 2015-04-20 2015-05-03
Mock exam 1 The question about the String “hello” says if equals() was used, the answer would be A/C/E. This is incorrect. It would be A/C/D. Online practice exam incorrect explanation Dominik Bauer 2015-05-31 2015-10-04 not yet
Mock exam 1 On the question asking about which statements are true about extending classes and interfaces, the answer is correct. However the explanation says A is correct and B is incorrect. This is reversed. The graded answer is correct. Online practice exam incorrect explanation Maaike Zijderveld 2015-06-22 2015-10-04 Yes
Mock exam 1 The question with the class name StartOfSummer should say 6 rather than Month.JUNE Online practice exam incorrect question Saad Benbouzid 2015-08-01 2015-10-04 not yet
Mock exam 1 In “The thing to notice about this example is that soon as x reaches 1, the outer loop will run infinitely.”, it should say “inner loop” rather than “outer loop” Online practice exam typo in explanation Mushfiq Mammadov 2015-10-11 2016-03-05 not yet
Mock exam 1 In ShowDate’s answer, line 5 should be line 4 and line 10 should be line 9 Online practice exam typo in explanation Mushfiq Mammadov 2015-10-11 2016-03-05 not yet
Mock exam 1 In class Deer’s answer, “in the static block”, should be “in the main method” Online practice exam typo in explanation Mushfiq Mammadov 2015-10-11 2016-03-05 not yet
Mock exam 1 In the 2468 example, “returns the number 3” should be “returns the number 2”. (The actual answer is correct) Online practice exam typo in explanation Mushfiq Mammadov 2015-10-11 2016-03-05 not yet
Mock exam 1 In “import statement of java.util.ArrayList is missing”, should be “import statement of java.util.* is missing” Online practice exam typo in explanation Mushfiq Mammadov 2015-10-11 2016-03-05 not yet
Mock exam 1 In HindLeg’s explanation, line 7 should be line 8 Online practice exam typo in explanation Mushfiq Mammadov 2015-10-11 2016-03-05 not yet
Mock exam 1 In Class C’s explanation, line 7 should be line 8 Online practice exam typo in explanation Mushfiq Mammadov 2015-10-11 2016-03-05 not yet
Mock exam 1 The answer is correct. In the explanation, “”Although Shark does compile” should be “Even if Shark compiled” Online practice exam incorrect explanation. João Victor Gomes 2017-05-28 not yet not yet
Mock Exam 1 In the question about lions and tigers, the explanation should say that the ternary operator has the highest precedence, not the assignment operator Online practice exam question typo Vlad Alin 2021-12-07 No No
Mock Exam 2 (reported against 1 but see in 2) In the deer question, the last sentence should be removed since count is not final Online practice exam question typo Vlad Alin 2021-12-07 No No
Mock Exam 1 In the string builder example, the last insert call is index 5, not 4 Online practice exam question typo Vlad Alin 2021-12-07 No No
Mock exam 2 (reported against exam 3, but I see in exam 2) One of the questions has “String[] lizards = {“iguana”, “gecko”};”. The answer should be B, not D. Also, there should be a line 9 that actually prints out list. Online practice exam incorrect answer Michal Cegielski 2015-04-09 2015-04-20 2015-05-03
Mock exam 2

The question that contains LocalDate d = LocalDate.of(2015, 5); should be LocalDate d = LocalDate.of(2015, 5, 1);. As worded now the answer is E (does not compile) which is not the intent.

(duplicate of following line)

Online practice exam incorrect answer Douglas Dewey Allen 2016-03-05 2015-03-05 Yes
Mock exam 2 LocalDate d = LocalDate.of(2015, 5); should be LocalDate d = LocalDate.of(2015, 5, 7); Online practice exam incorrect answer Evgeny Kapinos 2015-06-07 2015-10-04 Yes
Mock exam 2 ArrayIndexOutOfBounds should be ArrayIndexOutOfBoundsException. IOException and NullPointerException have redundant parantheses at the end Online practice exam incorrect text (cosmetic) Roel De Nijs 2015-06-07 2015-10-04 TBD
Mock exam 2 The question about StringBuilder and “meow” should have B as the answer, not B&D Online practice exam incorrect answer Evgeny Kapinos 2015-06-07 2015-10-04 TBD
Mock exam 2 The question about the 2D array “times” is missing a line break before where line 7 should start. Online practice exam typo Saad Benbouzid 2015-08-01 2015-10-04 Yes
Mock exam 2 In the Cardinals class the last call to the constructor is meant to be c3 rather than c2 to match the answer explanation Typo in mock exam question Mushfiq Mammadov 2015-10-11 2016-03-05 TBD
Mock exam 2 In the Tiger/Lion example, Tiger should be uppercase in the output in the explanation Typo in mock exam explanation Mushfiq Mammadov 2015-10-11 2016-03-05 TBD
Mock exam 2 “since the capacity must be an integer” should be “since the capacity must be an int” Typo in mock exam explanation Mushfiq Mammadov 2015-10-11 2016-03-05 TBD
Mock exam 2 The climber class says Strin[] rather than String[]. If you answered that the code didn’t compile, treat your answer as correct Online practice exam question typo Maaike Zijderveld 2015-06-22 2015-10-04 yes
Mock exam 2 In the Koala question, the answer is correct. However for the explanation, “Line 8 compiles without issue since CanClimb is a subclass of Object” should be “Line 8 compiles without issue since an interface can be implemented by a class that subclasses Object” Online practice exam question typo Julie Chen 2016-03-20 TBD not yet
Mock exam 2 In the question about which exceptions actually exist, it turns out IOError does exist in Java. While you don’t need to know this for the exam, we shouldn’t ask about it. Change “IOError” to “InputOutputError” in the question. Online practice exam question error Chris McDowell 2016-09-11 TBD not yet
Mock Exam 2 In the question about SeaBird, the explanation should omit “from public” in the explanation for Option B – looks right, not an error Online practice exam question typo Vlad Alin 2021-12-07 No No
Mock exam 3 In the “interface methods” question, the explanation should begin with “An interface method may” rather than “An interface may” Online practice exam question typo Roel De Nijs 2016-03-20 TBD not yet
Mock exam 3 One of the questions has “Despite the && false having no effect, the code will still compile and run without issue, so option E is incorrect, as is option F. ” This is from old code and the sentence should be removed. The rest of the explanation and the answer is correct. Online practice exam incorrect explanation Jeanne Boyarsky 2015-04-09 2015-04-20 2015-05-03
Mock Exam 3 In the question about dividing 9 and 5, it should the result is 1, not 4 – not wrong. The question is correct as it is about % not / Online practice exam question typo Vlad Alin 2021-12-07 No n/a
Mock exam 3 One of the questions has “Finally, we perform modular arithmetic using the new values of x and y—9 and 5, respectively. If we divide these two values we get 0; therefore, the remainder of 9 % 5 is 5, so option A is the correct answer”. This explanation and answer is wrong. First, 9%5 is 4, not 5. Second, choice A should be 4, not 9. Give yourself credit for this one no matter what as the question is just plain wrong. Online practice exam incorrect answer Michal Cegielski 2015-04-09 2015-04-20 2015-05-03
Mock exam 3 One of the question has “static final int num;” and asks about the code compiling. As written, the answer is wrong as the code does not compile. (It should be B). The “typo” in the question, is that the final should be removed in this line of code. The intent was to ask about static/class variables rather than knowledge of final. Online practice exam incorrect answer Michal Cegielski 2015-04-09 2015-04-20 2015-05-03
Mock exam 3 Online practice exam translated incorrectly in Hello World assembly order question. (Also, the question really should have a closing brace at the end but that’s minor and doesn’t affect answering the question) Garbled question Reported by email by Maaike Zijderveld 2015-06-23 2015-06-23 TBD
Mock exam 3 In the 2468 substring example, “Line 6 returns the number 3 since indexes are zero based” should say “Line 6 returns the number 2 since indexes are zero based” Mock exam explanation typo Vince Botteman 2015-06-25 2015-10-04 TBD
Mock exam 3 In the LimpException example, D is a correct answer in addition to the ones provided. See link where Vince reported this for why. (I’m requesting this choice be removed because it is harder than what people need to know for the OCA) Incorrect mock exam answer Vince Botteman 2015-06-25 2015-10-04 TBD
Mock exam 3 In the pollinate example, answers C, D, E and F should have one less close paren Typo Saad Benbouzid 2015-07-24 2015-10-04 TBD
Mock exam 3 In the Insect example, choice E should by line 6 rather than line 7 Typo in mock exam answer Mushfiq Mammadov 2015-10-11 2015-03-05 TBD
Mock exam 3 ” java” should be ” java ” (which option D gives) and “Java ” should be “ava ” (which option F gives). Typo in mock exam explanation Mushfiq Mammadov 2015-10-11 2015-03-05 TBD
Mock exam 3 In the Deer/Car question, neither class should be public Typo in mock exam question Mushfiq Mammadov 2015-10-11 2015-03-05 TBD
Mock exam 3 In the Sparrow/Bird question, lines 11-13 should be lines 11-12. Typo in mock exam explanation Mushfiq Mammadov 2015-10-11 2015-03-05 TBD
Mock exam 3 In the movie rating question, choices E and F should refer to lines 11 and 12 to match the explanation. (still wrong though so won’t mess up your score!). Also, in Eclipse, choice C doesn’t compile, but at the command line it does. We didn’t intend a confusing choice like that so give yourself credit if you didn’t know C! Typo in mock exam question Mushfiq Mammadov 2015-10-11 2015-03-05 TBD
Mock exam 3 In the class I example, “i is in scope” should be “ii is in scope” in the third sentence Typo in mock exam explanation Mushfiq Mammadov 2015-10-11 2015-03-05 TBD
Mock exam 3 In Class C, choices E and F are duplicate. Pretend choice F isn’t there. (It’s wrong anyway). Mushfiq Mammadov Typo 2015-12-19 2015-03-05 TBD
Assessment exam The question about Class _C (which is #1 in the physical book) uses radio buttons but should use checkboxes (it does say choose all that apply at least) Wrong answer selection type Mushfiq Mammadov 2015-05-31 2015-10-04 TBD
Flashcards A flashcard about optional characters in a lambda omits braces. It does remove the braces in the example code Online practice exam incorrect answer Mushfiq Mammadov 2015-05-31 2015-10-04 TBD
Flashcards A flashcard with b[0] and b[1 omits the closing bracket Online flashcard typo Ganzy Bhat 2015-09-05 2015-10-04 TBD
Flashcards A flashcard asking which classes are final is incorrect. StringBuilder and StringBuffer are final. (You don’t need to know this; you only need to know String is final) Online flashcard typo Miguel Callejón 2016-03-08 TBD TBD
Flashcards The flashcard asking about number of arrays and references should add text about assuming the reference is instantiated Online flashcard error Ganesh Patekar 2017-12-13 TBD TBD
Flashcards In the question about creating a new ArrayList, “parameters are passed by reference” should be parameters are passed by value”. Online flashcard error Vlad Alin 2021-12-07 No No
Chapter 3 test Answer choice b is abbaccca in the book and abbbaccca online. The book version is correct #4 – Online practice exam incorrect option Reported by email by Maaike Zijderveld 2015-06-05 2015-10-04 yes
Chapter Test 4 #15 – In the explanation, “on line 18 is a short” should be “on line 17 is a short, “autoboxed to a boolean” should be “autoboxed to a Boolean” and “autoboxed to a double” should be “autoboxed to a Double”. (This is right in the print book) Conversion issue Jorma Spitz 2016-04-15 TBD TBD
Chapter Test 5 #5 – Option C is correct should be Option A is correct. (This is right in the print book) Conversion issue Mushfiq Mammadov 2015-09-29 2015-10-04 Yes
Chapter Test 5 #10 – “extended with the extends” keyword is missing the the s (this is right in the printed book) Conversion issue Mushfiq Mammadov 2015-09-29 2015-10-04 TBD

Want to report an errata? Post it at the OCA forum at CodeRanch.