New To This Edition
• Running example – Revisits a collection of games and puzzle examples in several chapters. – Introduces students to simple object-oriented programming principles, such as inheritance, randomness, animation, threads, and networking. – The CyberPet examples from previous editions continue to be available on the Companion Website. • Chapters 0 (Computers, Objects, and Java) and 1 (Java Program Design and Development) are substantially reorganized and rewritten. – Reduces the pace with which new concepts are introduced to students. – Simplifies the treatment of object-oriented (OO) and UML concepts, and moves some of the more challenging OO topics, such as polymorphism, to a new Chapter 7. • NCoverage of the new Java 5.0 Scanner class – Introduced in Chapter 2 and used to perform simple input operations. • Independent introductions to both a command-line interface and a graphical user interface (GUI) now provided in a completely rewritten Chapter 4 (Input/Output: Designing the User Interface). – Enables instructors to choose the type of interface that best suits their teaching style. – The command-line interface is based on the BufferedReader class and is used throughout the rest of the text. – The GUI is designed to work with either graphical applications or applets. – Both approaches are carefully presented to highlight the fundamentals of user-interface design. – Concludes with an optional section that introduces file I/O using the new Scanner class. • A new Chapter 7 covers much of the discussion of inheritance and polymorphism that was revisited throughout the first five chapters of the previous edition. • Optional “graphics track” woven throughout the text. – Begins with simple examples in Chapters 1 and 2. – Includes some of the more advanced examples from Chapter 10 of the previous edition. • Expanded Chapter 15 on Sockets and Networking. –Covers some of the more advanced Java technologies, including servlets and Java Server Pages. • Coverage of Data Structures (Ch. 16) now focuses on how to use data structures. – Makes greater use of Java’s Collection Framework, including the LinkedList and Stack classes and the List interface. – Expanded to cover some advanced data structures, such as binary trees and hash tables. |