|Java Programming Language Handbook|
David H. Friedel, Jr. and Anthony Potts
The Coriolis Group Books
Java Programming Language Handbook consists of 13 chapters and 2 appendices. Each chapter goes a step further in learning you the Java language.
The first chapter introduces the reader to Java (version 1.0).
Some of the background is explained and a comparison to C++ is given.
Chapter 2 immediatelly let's us write our first applet. This applet introduces a lot of the basic aspects of the Java language before explaining the details in the remains of the book. Java language features as comments, classes, threads, graphics, inheritance are introduced in a simple and clear way. When you are done reading this chapter and build the applet, you already got a good understanding of the possibilities Java has. And it makes you feel good, that after reading just over 50 pages, you made your first applet.
Chapter 3 covers the Java language fundamentals. What is the syntax? What are Java keywords? These questions and more are answered in this chapter. Comments, identifiers, keywords, data types and variable declarations are explained.
To write useful programs we need to be able to control our program. Chapter 4 explains the Java operators, expressions and control structures.
Java is an object-oriented programming language. In chapter 5, Java Classes and Methods, basics of classes are explained. How to write your classes and how to inheritance classes is described here. The second part of the chapters covers methods, that what makes the classes work.
Chapter 6 describes the Java interfaces and packages. Interfaces and packages are good way to write reusable code.
Java exceptions are a very elegant way of handling compile-time and runtime errors. First are the basics of exceptions explained, followed by how to implement them in your code.
Java makes it very easy for the programmer to write a program or applet that is capable of doing different task at the same time. This little processes are called threads. In chapter 8 the writers explain what threads are and how to use them. The life of a thread, interacting with the same source etc. are covered.
Most of the programs you write have a interface to interact with the user. This isn't different for Java programs or applets. Chapter 9 cover the Java AWT. AWT stands for Abstract Windows Toolkit and is the Java package for creating user interfaces. The chapters only describes the basics of the AWT to get you started, because you could read books about the AWT alone. Classed and methods that are important for creating user interfaces are covered, including the layout managers, a for most programmers strange concept.
Chapter 10 is dedicated to Java applets and the applet class. Applets are in this way different to applications that applets need a controlling program to work, for example a Web browser. Playing sounds, displaying images, interacting with the browser are some of the topics covered here.
To really let your program interact with the user, you need to know how to handle events generated by the user. Chapter 11 helps us to write code for handling events.
Chapter 12 describes how you can interact your programs with the outside world. Java provides different stream classed that perform I/O functionality for your programs. Every class is briefly explained with their key methods.
Java provides you with standard classes for creating applications and applets that are able to communicate across networks. After the basics of networking are explained, the java.net package is explained. The chapter closes with a sample client/server application.
The first appendix provides us with some online Java resources. The second appendix is dedicated to the Java Database Connectivity (JDBC). The JDBC isn't provided with the JDK 1.0.2. JDBC supports programmers in writing Java programs that can interact with databases. The appendix covers version 0.5 of the JDBC API.
Java Programming Language Handbook is a good book for beginners and advanced programmers. Every chapter has a very transparent outline. First the basics of the subject are explained. Then the implementation of the subject in Java is explained and demonstrated by examples. Therefore this book is good for learning the Java language (beginners), but is also a good reference book (advanced). Very useful is the pull-out Java language reference card. This card describes very short the command-line options for the JDK command-line tools and the basic Java features.
(Hubert Klein Ikkink)