Table of Contents

Chapter 1 Introduction to Computers, Programming, and Java
Chapter 2 Elementary Programming
Chapter 3 Selections
Chapter 4 Mathematical Functions, Characters, and Strings
Chapter 5 Loops
Chapter 6 Methods
Chapter 7 Single-Dimensional Arrays
Chapter 8 Multidimensional Arrays
Chapter 9 Objects and Classes
Chapter 10 Object-Oriented Thinking
Chapter 11 Inheritance and Polymorphism
Chapter 12 Exception Handling and Text I/O
Chapter 13 Abstract Classes and Interfaces
Chapter 14 JavaFX Basics
Chapter 15 Event-Driven Programming and Animations
Chapter 16 JavaFX UI Controls and Multimedia
Chapter 17 Binary I/O
Chapter 18 Recursion
Chapter 19 Generics
Chapter 20 Lists, Stacks, Queues, and Priority Queues
Chapter 21 Sets and Maps
Chapter 22 Developing Efficient Algorithms
Chapter 23 Sorting
Chapter 24 Implementing Lists, Stacks, Queues, and Priority Queues
Chapter 25 Binary Search Trees
Chapter 26 AVL Trees
Chapter 27 Hashing
Chapter 28 Graphs and Applications
Chapter 29 Weighted Graphs and Applications
Chapter 30 Aggregate Operations on Collection Streams
Chapter 31 Advanced JavaFX and FXML
Chapter 32 Multithreading and Parallel Programming
Chapter 33 Networking
Chapter 34 Java Database Programming
Chapter 35 Advanced Java Database Programming
Chapter 36 Internationalization
Chapter 37 Servlets
Chapter 38 JavaServer Pages
Chapter 39 JavaServer Faces
Chapter 40 RMI
Chapter 41 Web Services
Chapter 42 2-4 Trees and B-Trees
Chapter 43 Red-Black Trees
Chapter 44 Testing Using JUnit
Appendix A Java Keywords
Appendix B The ASCII Character Set
Appendix C Operator Precedence Chart
Appendix D Java Modifiers
Appendix E Special Floating-Point Values
Appendix F Number Systems
Appendix G Bitwise Operations
Appendix H Regular Expressions
Appendix I Enumerated Types

Brief Version

This version consists of the first 18 chapters. It introduces fundamentals of programming, problem-solving, object-oriented programming, and GUI programming. This version is suitable for a CS1 course.

 Comprehensive Version

The comprehensive version contains all 44 chapters. Chapters 19-30 are for a data structures course. Chapters 31-44 cover threads, networking, internationalization, advanced GUI, database, and Web programming. This version can be used to prepare students to become proficient Java programmers.

Bonus Chapters

Chapters 31-44 are bonus chapters for Introduction to Java Programming, Comprehensive, available from You need to use the the access code and the information printed on the back side of the front cover in the text in order to access bonus chapters.