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 |
|
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 |
Chapter 15 Event-Driven Programming
and Animations |
|
Brand new |
Chapter 16 JavaFX UI Controls |
|
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 |
|
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 |
|
Bonus Chapter 44 |