Java 2 by Example, Second Edition gives novice programmers in-depth coverage of both object-oriented programming and Java fundamentals. It starts with an overview of Java, including a survey of development tools beginners should use. The book explains the basics of the Java language, including operators, expressions, statements and more; and Object-Oriented Programming with classes and objects, inheritance, and dynamic methods. The author includes a chapter applying the concepts of OOP to object-oriented analysis and design methods. Later chapters demonstrate organizing data in collections and utilizing Java's built-in mathematical functions. Along the way, readers learn from hundreds of examples explaining every concept. Plus, each chapter ends with a series of review questions to ensure that readers are caught up - with answers provided in an appendix.