I'm a Java lover (even if I've been forced into C# lately :-( ) so to hone my skills, I've decided to write a small game in the language. I went to the book store and found this book...
It assumes that you have a basic knowledge of Java and the Games are programmed in Swing, however the concepts can be reused in other environments (I'm giving Swt a try in favor of Swing).
Currently I've read the first section "Java Game Fundamentals", which gives you everything to create a basic 2D tiled game with sound and networking support, and section three, "Tuning and Finishing Your Game". I've skipped the second section "3D Graphics and Advanced Techniques", because I want to finish my 2D Game first (a PacMan) before moving to 3D.
So far, the book has been helpfull to me to either confirm some concepts I've found by myself or to introduce me to concepts I didn't know before. The text is most of the time interesting/entertaining and the code examples are clear enough to make their point.
However, this book must be seen as a introduction to the topic of game development, you'll need to browse other sources of information (e.g. gamedev.net, ...) to fill in the blanks and do some thinking for yourself to get a finished and fun to play game.
Also, this book is more of a programming book, with the topics of game design and art work are slightly covered but needing above-mentionned additional input.
All in all, I like this book.