Before I leave the OCAJP 7…I feel compelled to mention two things that came up on my exam that surprised me.
One was the ternary operator "?".
The other was "Integer" wrapper class.
I did come across those when I was taking practice exams (both WhizLabs and Enthuware) and immediately searched for them in Mala Gupta's book, but they weren't covered, so I thought, "Oh, stupid practice exams, they don't bother to check what's really on this exam." But the practice exams were right! Just a heads up for you guys.
I hadn't thought that far ahead, but now I want to take the OCPJP exam anyway, so it wouldn't have hurt me to learn a little too much before the OCAJP.
Thanks for sharing this valuable information. Other ranchers will definitely benefit!
First the conditional operator. What make you think that it's not on the exam? Only based on the Mala Gupta book. Take a look at the exam topics of OCAJP7, topic 3.1 = "Use Java operators". That's very general, I know But the conditional operator is one of them, so according to the exam topics/objectives it can be on the exam. And that's the advantage of creating really general topics/objectives: Oracle can easily add/change/remove questions on the exam and cover some things which were not on the exam before. With this objective they can easily add bit shifting operators from next month and no study guide will have these ones covered (until maybe a 2nd edition is printed). That's the advantage (online) mock exam simulators (like Enthuware and WhizLabs) have when they listen and act to the feedback users gave them.
Then the Integer wrapper class. I can't find an objective in the official exam topics that would justify such a question on the exam. I know you are not allowed to share the actual exam question starring the Integer wrapper class, but was knowledge about this class needed to answer the question correctly (e.g. an Integer object is unboxed when it's compare to a primitive int value) or was that not needed (e.g. a generic ArrayList<Integer> is created, 3 Integer-elements are added and then methods size() and get(3) are invoked on this ArrayList)
A really good study guide will always try to cover a little bit more than the strict minimum (let's say 110%) especially for reasons like you described here (Oracle adding some questions on new material to the exam). But it's always a gamble!
What made me think the ternary operator is not on the exam? Stupidity! Of course I should have looked up at the objectives and interpreted them myself. I did so after the fact.
When I saw the ternary operator on practice exams, I briefly looked it up. It was SUPER EASY but I had no experience with it and it wasn't on my list of things to review, so I remembered it wrong--thought it was the reverse of what it was--and got a really easy question wrong on the test.
The Integer wrapper class…I will say knowledge about the class was NOT needed to answer the question. It was just casually slipped in to a question that was actually about another topic, andI think I got this question right. But I could definitely picture someone who had never seen it getting confused or freaked out.
I almost prepared well enough but scheduled my exam before taking any practice exams. Don't do that! Take some exams and THEN schedule.
So, five days before the day, I took Mala's exam, then 3 WhizLabs exams three days in a row, then on the day before the exam, I broke my rule not to take exams the day before, and took one more exam, Enthuware--and that exam really helped. It was even good English! Of course the best thing would be to take a practice exam once a week, the last few weeks before the real exam.
Another problem I had was about 2/3 of the way through, my dry erase marker dried up. I wasted valuable time worrying about that. Could have just asked for another but that wastes a minute or two.
I did pass, but wasn't happy with the score and almost was sorry I passed because I wanted the experience of taking it again and getting a really high score. That's when I said--hey--you can take the second exam, too!