This book is aimed at a Java beginner, though it would also provide good reference or revision for someone with some knowledge of Java programming. For a complete novice, it talks through step by step from the start, though you need to be prepared to read the material slowly and carefully as it is very detailed. If you have no experience of programming this will get you started, giving you a solid foundation provided you work through the examples.
As the cover says, We assume no previous programming experience, although progress will be easier if you have programmed before.? Some readers may find the examples dry, text book stuff, but this provides a solid foundation in the subject.
The book covers working with the basics: numbers and strings, classes, packages, exceptions, streams and files, and collections. It then moves on to a selection of available utility classes, writing graphical user interfaces, concentrating on swing, printing and finally XML.
My only reservation is that it claims to give an "explanation of Object Oriented programming". This explanation is not so thorough and the book really just shows how to write classes and use inheritance in Java. If you want to know everything there is to know about OOP, buy a book about that: this book will teach you how to start programming in Java properly, and probably provide an invaluable reference thereafter.