Table of Contents

Chapter 1 Introduction to Computers, Programming, and Java
Chapter 2 Elementary Programming
Chapter 3 Selections
Chapter 4 Loops
Chapter 5 Methods
Chapter 6 Single-Dimensional Arrays
Chapter 7 Multidimensional Arrays
Chapter 8 Objects and Classes
Chapter 9 Strings
Chapter 10 Thinking in Objects
Chapter 11 Inheritance and Polymorphism
Chapter 12 GUI Basics
Chapter 13 Graphics
Chapter 14 Exception Handling and Text I/O
Chapter 15 Abstract Classes and Interfaces
Chapter 16 Event-Driven Programming
Chapter 17 GUI Componenets
Chapter 18 Applets and Multimedia
Chapter 19 Binary I/O
Chapter 20 Recursion
Chapter 21 Generics
Chapter 22 Lists, Stacks, Queues, and Priority Queues
Chapter 23 Sets and Maps
Chapter 24 Developing Efficient Algorithms
Chapter 25 Sorting
Chapter 26 Implementing Lists, Stacks, Queues, and Priority Queues
Chapter 27 Binary Search Trees
Chapter 28 Hashing
Chapter 29 AVL Trees
Chapter 30 Graphs and Applications
Chapter 31 Weighted Graphs and Applications
Chapter 32 Multithreading and Parallel Programming
Chapter 33 Networking
Chapter 34 Java Database Programming
Chapter 35 Internationalization
Chapter 36 JavaBeans and Bean Events
Chapter 37 Containers, Layout Managers, and Borders
Chapter 38 Menus, Toolbars, and Dialogs
Chapter 39 MVC and Swing Models
Chapter 40 JTable and JTree
Chapter 41 Advanced Java Database Programming
Chapter 42 Servlets
Chapter 43 JavaServer Pages
Chapter 44 JavaServer Faces 2
Chapter 45 Web Services
Chapter 46 Remote Method Invocation
Chapter 47 2-4 Trees and B-Trees
Chapter 48 Red-Black Trees
Chapter 49 Java 2D
Chapter 50 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

Introduction to Java Programming, Brief

This version consists of the first 20 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 50 chapters. Chapters 20-31 are for a data structures course. Chapters 32-50 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 35-50 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.