I was given a copy to review by the publishers, and have previously submitted a similar review on [...], and shall submit this review both to amazon.com and amazon.co.uk
Whenever you review a book, you should consider which audience and purpose it is written for. This book is intended for experienced people (the same publishers produce a "Beginning Java" book) who wish to migrate to Java(tm) programming from another language, using NetBeans to speed up coding. The book, therefore, teaches both Java(tm) and NetBeans. It fortunately makes no claim to be comprehensive; it clearly focuses on certain topics (see page 366), expecting readers to be able to find other classes for themselves.
The book follows the paired pages format often used by Murach, Inc., as far as the length of the code fragments permits. It starts with basic syntax, then object-orientation, specialised classes, GUIs, data access, threading and deployment with jar files. Collections and exceptions are included amongst those "specialised classes". I was especially pleased to see that data validation, using error messages and (later) exceptions was introduced early in the book, and that the exceptions section teaches how to throw Exceptions for incorrect input, as well as how to catch them.
The GUIs are created with what used to be called Matisse on NetBeans; this allows one to set up the display very quickly without necessarily knowing all the code. It also allows event handling, fortunately avoiding that abomination "addActionListener(this)".
This book would be particularly useful as an adjunct to a course, where an instructor can augment the explanations, because the text moves very fast. I would have preferred to see some links or references "for further reading", as well as links to discussion of the principles of object-orientation, etc.
I found only few errors, e.g. precedence of the ! operator (p117), "private and public classes" only mentioned on p41, Character and Hashtable misspelt (p401 and 396).
I think it is a good book, one that I am pleased to have read.