Would you recommend the product? yes | Price you paid?: None indicated | Rating: 9
Easy to read, well organized and objective, you can download the source code from every application from their page.
It's difficult to really learn Java in 21 days unless you have a lot of free time. Some more detailed explanations and examples for applets and swing classes were left out...
This is the second book that I've purchased from Sams, with the first one being "Teach yourself C++ in 3 weeks".
I've to say that it really is difficult to learn a huge language as Java in 21 days, unless you love reading and tweaking (plus, that you have a hole day for doing that).
The book is very well organized, and do not require any previous knowledge with Programming, but indeed, knowing C++ would make your life much easier.
In about 700 pages, this book gives you a good background for Java from a brief intro to Java's history up to writting servlets and JSP.
At the day 1, the author makes a nice explanation about general programming and Object Oriented. The real work starts at day 2, teaching about variables, strings, logic operators among others. From there, you know practically all you need to know to make through the rest of the book.
It also covers Java-applets (Day 14) and Swing (graphical interface tool). I'd like to have some more examples using/creating Java-applets in this book, as well as usage of Swing class, but I understand how big those classes are to fit in a relatively small book, meaning that after you get the basis of Java, from time to time you need to hunt the Internet after examples. A good start point is Java's API doc freely available at Suns (www.sun.com) homepage.
At the end of every chapter, you have a quiz and a Certification Test. The certification test, unlike the quiz, has only the correct answers on Sams homepage.
Another great feature is that you can go to Sams homepage and download all the source included in the book, so you can see an application in action without coding anything.
To sum up, it's a great book that you should have on your shelves if you want to learn Java or improve your skills. I really do, believe that you can learn Java without any previous programming skill using this book, despite Java being 100% OO, but I really found hard to believe that you can learn everything in 21 days... Think more about it as for being a book divided in 21 very well organized chapters :).
TIP: don't use any fancy IDE, as Netbeans, untill you feel comfortable enough with Java, because doing so you may skip some important steps (specially when working with Swing class) when designing a program interface with an IDE and taking care of events. Get a good text editor with syntax highlighting (I'd suggest vim) and when you start working with Swing, design first the interface in a piece of paper before coding anything...
When you are done with the book and feel ready to write applications, then get an IDE to speed things up ;)