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 Multithreading and Parallel Programming
Chapter 31 Networking
Chapter 32 Java Database Programming
Chapter 33 JavaServer Faces
Chapter 34 Advanced JavaFX
Chapter 35 Advanced Java Database Programming
Chapter 36 Internationalization
Chapter 37 Servlets
Chapter 38 JavaServer Pages
Chapter 39 Web Services
Chapter 40 2-4 Trees and B-Trees
Chapter 41 Red-Black Trees
Chapter 42 Testing Using JUnit
Chapter 43 Aggregate Operations on Collection Streams
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

Introduction to Java Programming, Brief

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.

Introduction to Java Programming, Comprehensive

The comprehensive version contains all 42 chapters. Chapters 19-29 are for a data structures course. Chapters 30-43 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 34-43 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.