Correlation to the Previous Edition

This Book (10E) What's New Previous Book (9E)
Global Changes
  • Updated to Java 8.
  • JavaFX replaces Swing. JavaFX is the new framework for GUI programming in Java. Instructors will switch from Swing to JavaFX, because JavaFX is easier to learn than Swing. The 10E covers GUI in three chapters, while the 9E covers GUI in five chapters.
  • Using Lambda expressions for anonymous inner classes greatly simplifies coding and makes the program easy to read.
  • Covers the methods in the Math class in earlier Chapter 4 to enable the math functions to be used early.
  • Covers introductions to objects and strings earlier in Chapter 4 to enable students to use objects and strings to develop interesting programs early.
  • Includes many new interesting examples and exercises to stimulate interests. More than 100 additional new exercises with solutions are provided to instructors on the companion Website. These exercises are not printed in the text.
  • Introduces exception handling, abstract classes, and interfaces before GUI programming to enable the GUI chapters to be skipped completely if the instructor chooses not to cover GUI.
  • Links to quiz are provided at the end of chapter to test student's understanding for the whole chapter.
  • The background of the slides are changed to white in respond to many requests from our users.
  • Brands new chapters: Chapters 4, 14-16, 34.
  • Chapters with substantial revisions: Chapters 28-29.
 
Chapter 1 Introduction to Computers, Programs, and Java
  • Add a new section on Common Programming Errors.
  • Add a section on developing Java programs using NetBeans.
  • Add a section on developing Java programs using Eclipse.
  • Remove the section on JOptionPane, because it is in Swing and Swing is replaced by JavaFX.
Chapter 1
Chapter 2 Elementary Programming
  • Cover the methods in the Scanner class just-in-time when the appropriate data type such as int, long, float, and double are introduced.
  • Add a new section on Common Programming Errors.
  • Move the coverage on characters and strings to a new Chapter 4.
  • Remove the section on JOptionPane input dialog,  because it is in Swing and Swing is replaced by JavaFX.
Chapter 2
Chapter 3 Selections
  • Add a new section on Common Programming Errors and Pitfalls.
  • Move the printf to the new Chapter 4.
Chapter 3
Chapter 4 Mathematical Functions, Characters, and Strings
  • New (some of the materials for this chapter are from Ch2, Ch5, and Ch9 in the 9E)
 
Chapter 5 Loops
  • New Dec2Hex case study.
  • New Palindrome case study.
  • Remove the case study for estimating PI using the Monte Carlo Simulation.
  • Remove the section on JOptionPane confirmation dialog,  because it is in Swing and Swing is replaced by JavaFX.
Chapter 4
Chapter 6 Methods
  • New Hex2Dec case study.
Chapter 5
Chapter 7 Single-Dimensional Arrays
  • New introductory section.
  • Replace the Lotto example with the new example for analyzing numbers.
  • New section introducing the command-line arguments.
Chapter 6
Chapter 8 Multidimensional Arrays
  • Two math exercises are replaced by new game exercises.
  • New exercises 7.35-7.37.
Chapter 7
Chapter 9 Objects and Classes
  • Replace the JFrame class with the Point2D class.
  • New exercises 8.13-8.14.
  • The section on Immutable Objects and Classes is moved to this chapter.
  • The section on Scope of Variables is moved to this chapter.
  • The section on The this Reference is moved to this chapter.
Chapter 8
Chapter 10 Thinking in Objects
  • The sections on String and StringBuilder are moved here from Chapter 9 in the 9E.
  • New exercises 10.14-10.15.
  • Removed the section on GuessBirthday class.
Chapter 10
Chapter 11 Inheritance and Polymorphism
  • Add a new section on useful static methods for lists.
  • New Exercises 11.12-11.17.
Chapter 11
Chapter 12 Exception Handling and Text I/O
  • Move I/O here from Chapter 9.
  • Read a file from the Web.
  • Add a new case study to develop a Web crawler.
  • New exercises involving processing large datasets from the Web.
  • JDK 7 multi-catch.
  • JDK 7 try-with-resources.
  • Remove JFileChooser, because it is in Swing and Swing is replaced by JavaFX.
Chapter 14
Chapter 13 Abstract Classes and Interfaces
  • Add a new section on object-oriented design.
  • Simple use of generics is introduced along with ArrayList in Chapter 11 and with Comparable in Chapter 15 while the complex detail on generics is still kept in Chapter 21.
  • New example using Comparable.
  • The sections on wrapper classes, BigInteger and BigDecimal are moved to Chapter 11.
  • New exercises 15.21-12.26.
Chapter 15
Chapter 14 JavaFX Basics
  • Brand new.
Brand new
Chapter 15 Event-Driven Programming and Animations
  • Brand new.
Brand new
Chapter 16 JavaFX UI Controls
  • Brand new.
Brand new
Chapter 17 Binary I/O
  • The Swing examples and exercises are updated to JavaFX
Chapter 19
Chapter 18 Recursion
  • The Swing examples and exercises are updated to JavaFX
Chapter 18
Chapter 19 Generics
  • No major revision.
Chapter 21
Chapter 20 Lists, Stacks, Queues, and Priority Queues
  • The Swing examples and exercises are updated to JavaFX
Chapter 22
Chapter 21 Sets and Maps
  • The Swing examples and exercises are updated to JavaFX
Chapter 23
Chapter 22 Developing Efficient Algorithms
  • The Swing examples and exercises are updated to JavaFX
Chapter 24
Chapter 23 Sorting
  • The Swing examples and exercises are updated to JavaFX
Chapter 25
Chapter 24 Implementing Lists, Stacks, Queues, and Priority Queues
  • The Swing examples and exercises are updated to JavaFX
Chapter 26
Chapter 25 Binary Search Trees
  • The Swing examples and exercises are updated to JavaFX
Chapter 27
Chapter 26 AVL Trees
  • The Swing examples and exercises are updated to JavaFX
Chapter 29
Chapter 27 Hashing
  • Improved discussions for hashing
  • The Swing examples and exercises are updated to JavaFX
Chapter 28
Chapter 28 Graphs and Applications
  • Use adjacency edge lists to store edges Instead of using the adjacency vertex lists. This provides great flexibility in designing reusable code. The weighted edges in the next chapter can be stored using the same adjacency lists.
  • The new methods for adding vertices and adding edges.
  • All example source code are completely revised.
  • New exercises 28.17-28.25.
Chapter 30
Chapter 29 Weighted Graph Applications
  • Use adjacency edge list to store edges rather than using priority queues to simplify implementations of the MST and SP algorithms.
  • A new implementation for MST is provided to simplify presentation.
  • A new implementation for Shortest Path is provided to simplify presentation.
  • All example source code are completely revised.
  • New exercises 29.17-32.20.
Chapter 31
Chapter 30 Multithreading and Parallel Programming
  • The Swing examples and exercises are updated to JavaFX
  • Use lambda expressions to simplify coding for threads.
  • Run code in the application thread using the Platform.runLater(Runnable).
Chapter 32
Chapter 31 Networking
  • The Swing examples and exercises are updated to JavaFX.
Chapter 33
Chapter 32 Java Database Programming
  • The Swing examples and exercises are updated to JavaFX.
Chapter 34
Chapter 33 Java Server Faces
  • Updated Java EE 7.
Bonus Chapter 44