An Excellent First Book on Programming in Java

Nice coverage of all the fundamentals, from Java basics to object-oriented development, Java APIs and more.


ORIGINAL DRAFT

I read a lot of Java books, seldom what qualifies as an introductory text, but I also get asked a lot what a good beginning Java book might be. Introduction to Java Programming represents a great recommendation, covering all the fundamentals accessibly and comprehensively presented in well executed manner. Designed as a first course in Java programming with JDK 1.2, the second edition clarifies new issues and presents a solid foundation. No assumptions are made about any previous programming experience, so the material is imminently suitable for young students or new aficionados alike.

The book is divided into 4 parts and 7 appendices. Appendices include Java keyword listings, the ASCII character set, operator precedence and other handy references, along with a quick HTML primer. Part I covers the fundamentals of Java, covering data types, operators, expressions, control structures, methods and more in the span of 4 chapters. Part II tackles object-oriented programming, including objects, classes, arrays, strings and inheritance. Not much time is spent pointing out design philosophies and composition, but the material is well presented and intentionally kept simple for the reader.

Part III looks a graphics programming. Divided into three chapters, the author introduces the AWT, covers layout managers, user interface elements, applets and a few more advanced concepts. Swing and the Java 2D API are mentioned but not really explored. Part IV looks at more comprehensive project requirements like exception handling, multithreading, the use of sound and images, streams and basic networking. The coverage is intentionally shallow but enough to lay a good foundation and maybe even inspire the reader to look more closely at potentially applications or engage in deeper explorations.

This is a book that serves its audience. The material is straight forward and builds on fundamental concepts in a clear, logical sequence. The sidebars present relevant information in useful ways, the diagrams are typically helpful, and the examples demonstrate the concepts in entertaining ways that should help keep a reader’s interest. For experienced developers new to Java, this book may be a little simplistic but still useful as an introduction to the Java fundamentals. It seems like a great introduction to programming, with a good choice of languages for a budding programmer. Overall, a good recommendation.