I had been working as a Java programmer for several months before I started thinking about trying the Sun Certified Java Programmer exam. Although I thought that I was a good programmer, I found the mock exams that are available on the web to be shockingly difficult.
On-the-job training is valuable, but it has a tendency to leave large gaps in a person's understanding of the subject. A great way to fill those gaps is to study for the exam. The exam provides a goal and a motivation to work through one of many study guides that are available on the web or at the book store.
Do you really know Java or do you just think that you do? Do you really understand method overriding, hiding, and overloading? When are methods overridden and when are they hidden? Do you really understand type conversions? Do you really understand how Java evaluates expressions? If you are a mathematician and expect Java to obey the rules of operator precedence that you learned in school, then you probably don't understand Java.
If you want to test your knowledge of Java, then please try my collection of mock exams at the following URL. The best choice for those that are just beginning the study process or have not even started is the "Basics Exam".
The answer page for each exam contains links to the Java Language Specification, the JVM Specification, JavaDocs, and Java Question and Answer forums such as this one.