Hi,
Memorising keywords is good, but I've found questions in exams tend to fall into three streams when dealing with keywords.
The first type of question asks you to select from a list which are or are not keywords.
The second type is not as obvious. Sometimes they will give you a piece of code which seems to
test on a particular feature of java (e.g. threads), but to be sneaky, they declare a method or a variable name the same as a keyword
e.g. private int switch;
In such as situation, you need to be able to recognise that the above statement is illegal because of the keyword use as a variable.
In saying that, sometimes the exam throws in a second level of sneakyness by declaring an int or method with a name which is from another language:
e.g. private int const;
This is a perfectly legal statement, but often it's quite easy to think that this is an error, particularly if you are scanning for incorrect field/method names.
The final type is when they ask you to fill in the blank keyword. This should be simple enough if you program with java on a regular basis.
What the people above said for memorisation worked for me. Just cluster them by the first letter and remember each block. then before the exam just
string them all together.
(as far as I know they won't ask you to list all keywords or state how many java keywords there are - so rote memorization is overkill).