by Quelloquialism » Thu Dec 13, 2007 12:36 am
Not to be a downer or anything, but I think it's a point worthy of note--the UIL CS is annoyingly focused on testing nuances of Java-specific behavior on a number of questions. (EDIT: I'm not saying it's too difficult and shouldn't be attempted or anything...just saying, it takes a non-negligible time investment.)
As an alternative to Zack's method, I've found that I always learn best not as much by reading about the language, but by writing code on my own. Of course, you need a book or some form of tutorial to develop your skills enough to cobble programs together from the start, but seeing and feeling the language's peculiarities helps to reinforce your knowledge of the language (or at least it has in my experience). My study method (on the very rare occasion that I actually feel like studying for UIL CS, that is) is generally to take a practice test, then label all the ones that I'm hesitant on and all the ones that I got wrong, type them into a file, and fudge around with the code until you know what the stuff does like the back of your hand. Change values, switch lines around. Break things and figure out why they broke. Trace values in your code and try to guess what they will be after execution before executing. If your trace is wrong, figure out why.
This method might be something to fall back on if you start losing focus on the bookwork in Zack's method.
Also, one issue worthy of note: I'd recommend getting to know and love the after you've trudged through the basics. Java has a strong advantage over many other languages of having such a well-organized encyclopedia of standard library classes and methods.