I'm going to assume that you know the basics of Java. I won't tell you how to println a string and a number at the same time, or how to write a class that extends Applet and prints your name in the window. I'll presume you've taken a Java course or studied an introductory book such as O'Reilly's Head First Java, Learning Java, or Java in a Nutshell. However, Chapter 1 covers some techniques that you might not know very well and that are necessary to understand some of the later material. Feel free to skip around! Both the printed version of the book and the electronic copy are heavily cross-referenced.