Introduction to Programming Using Java, Version 9
News and Errata
News for Version 9 of This Book
- May 14, 2022 — Version 9.0 of Introduction to Programming Using Java is released. Version 9 covers Java 17. It comes in two editions: https://math.hws.edu/javanotes/, which uses JavaFX for GUI programming, and a new alternative edition, https://math.hws.edu/javanotes-swing/, which uses the Swing GUI toolkit. Although there might be some minor updates to correct errors, Version 9 is the final version of this textbook.
Errata for Version 9.0
This is a list of substantive errors that have been found in Version 9.0. Unless otherwise noted, the error occurs in both the JavaFX and the Swing edition.
- Chapter 13 Introduction, Swing Edition only: The chapter introduction says, "Although the title of this chapter is Advanced GUI Programming, ..." but the title of the chapter has been changed to GUI Programming Continued.
- Subsection 12.3.2: In the code sample near the end of the subsection, "threadsRemaining = workers;" should be "threadsRunning = threadCount;"
- Subsection 12.4.2, Swing Edition only: The code for the constructors in the ConnectionHandler class includes code to set the daemon state of the thread to true. That code does not occur in the Swing version of the program. (It was added in the JavaFX version to allow the program to end when the user closes the window.)
- Subsection 12.5.1, Swing Edition only: The command for running ChatRoomWindow is given as jfx netgame.chat.ChatRoomWindow, but should be java netgame.chat.ChatRoomWindow. ("jfx" is correct for the JavaFX version of the program.)
Some Old News
- March 9, 2022 — Lab assignments for my Fall 2021 Introductory Programming class are available on the course web page at https://math.hws.edu/eck/cs124. The course covered Chapters 1 through 7 in Version 8.1.3 of this textbook. That page also has links to solutions for most of the labs.
- September 24, 2021 — OpenJDK 17 is now available and can be downloaded from https://adoptium.net. This textbook has recommended getting OpenJDK from adoptopenjdk.net, but AdoptOpenJDK has transitioned to Adoptium, and you should look for new downloads at adoptium.net.
- August 1, 2021 — Version 8.1.3 is released, with updates to information about Java versions and about Eclipse in Section 2.6. There are some other small changes, including a few error corrections.
- May 7, 2021 — The lab assignments from my Spring 2021 Introductory Programming course, using Chapters 1 through 7 of this book, can be found at http://math.hws.edu/eck/cs124/index_s21.html.
- December 29, 2020 — Version 8.1.2 is released. This small update fixes a few errors, adds very short introductions to two new Java features (text blocks and records), and updates the information about programming environments in Section 2.6.
- May 19, 2020 — Version 8.1.1 is released. This is a really tiny update, released for the web and PDF versions of the book only. The main motivation was a change in the links to the print versions at lulu.com. I also updated Section 2.6 to reflect the fact that the current version of Java is Java 14, and Subsection 3.6.5 to say that the new switch statement syntax is now an official part of the language.
- July 2, 2019 — Version 8.1 is released. This is a minor update whose main purpose is to make it clearer how to use the book with Java 11 and JavaFX. The major changes are in Section 2.6. A few short topics from Java 11 and Java 12 have also been added. The main web address for the book, http://math.hws.edu/javanotes, now points to the eighth edition.
- May 15, 2019 — The lab assignments from my Spring 2019 Intermediate Programming course, using Chapters 8 through 13 of the eighth edition, can be found at http://math.hws.edu/eck/cs225/.
- December 5, 2018 — The official release of the Eighth Edition. Once again, I am indebted to John Ganci, who contributed many corrections to the "beta" version of this edition.