Java Programming: From the Beginning truly starts at the beginning: nothing is taken for granted. Mr. King maps out the first steps every programmer must take towards understanding both programming and the Java language. The book does not provide an SCJP aspirant with everything they need to know to pass the certification exam: Threads are not covered and only a fraction of the Collection classes are dealt with;however, having said that, there are so many things I liked about this book:
the content is well organized, with each chapter building on it's predecessors
new concepts are introduced clearly and concisely
good programming practices are emphasized throughout
alternative idioms are explained as well as why one is preferred over another
case studies illustrate the application of concepts
common errors are identified
There are numerous excercises and programming projects which are a real bonus if you're studying for the exam. Many of the exercises focus on identifying code errors; basic training for spotting errors in exam examples, and the projects give you plenty of opportunity to code, code, code!
There is one oversight: the close relationship between <code>hashCode()</code> and <code>equals()</code> is not mentioned; plus one minor nit, JavaDoc comments are not used in the examples, which, IMHO, every Java programmer should learn to use early and often.
Agreed that this is an excellent book for the beginner. It gently explains concepts so that you are not overwhelmed. Perhaps one of the few complaints I would have with this book is including the chapter on Graphics. It seems to have been thrown in there just to give some variety to the student. Doesn't seem to be too practical in "real life" programming situations. Well worth the money if you are just starting out! Janet
subject: Java Programming: From the Beginning by K. N. King (Norton)