Core Version
Comprehensive Version
Introduction to Java Programming
Sixth Edition
Y. Daniel Liang

What is New in the Sixth Edition?

This edition substantially enhances Introduction to Java Programming Fifth Edition. The major improvements are as follows:

Full Java 5 Update

The Java 5 features are fully integrated in this edition. (Note: the fifth edition treats Java 5 features in separate optional sections.)

Complete Revision

The book is completely revised in every detail to enhance clarity, content, presentation, examples, and exercises.

Enhanced Examples

The book provides many new illustrations and uses small, simple, and stimulating examples to demonstrate concepts and techniques. Longer examples are presented in case studies with overall discussions and thorough line-by-line explanations.

Early Interesting Programs

Students can now write short, interesting, graphical game programs starting from Chapter 2.

JOptionPane and Scanner

Chapter 2 introduces how to use JOptionPane and Scanner to receive input. Students can use either JOpationPane or Scanner for obtaining input.

New Recursion Chapter

Recursion is expanded to form a new chapter 19. It can be covered after Chapter 5, “Methods.”

Early Text I/O

High-level text I/O using the Formatter and Scanner classes is introduced in Chapter 8 along with the strings. The text I/O supersedes the Writer and Reader classes and their subclasses. The binary I/O is covered in Chapter 18.

Early ArrayList

ArrayList is introduced early in Chapter 8.

Extensive Supplements

Extensive supplements (e.g., design patterns, rapid GUI development, database design, SQL, etc.) are provided for instructors to customize a course.

Part I Enhancements

Part I, “Fundamentals of Programming,” focuses on problem-solving and basic programming techniques with many new illustrations and practical examples such as a learning game in Sections 3.2.5 and 3.3.2. This part uses JOptionPane input dialog to receive input, but console input using the Scanner class is also introduced to provide an alternative way for input.

Part II Enhancements

Part II, “Object-Oriented Programming,” is expanded into five chapters to give a comprehensive introduction on OOP and how to use it to design programs. New organization enhances the presentation of object-oriented programming and enables GUI programming to be covered earlier.

Part III Enhancements

Part III, “GUI Programming,” is expanded into five chapters to introduce GUI programming, graphics painting, event-driven programming, creating user interfaces, and applets. Advanced GUI features are now covered in Part VII, "Advanced GUI Programming."

Part V Enhancements

Part V, “Data Structures and Collections Framework,” is expanded to cover data structure design and implementation (array list, linked list, stack, queue, heap, priority queue, and binary tree), generics, Java Collections Framework, and algorithm efficiencies and sorting.

Part VI Enhancements

Part VI, “Multithreading, Networking, and Internationalization,” is updated to cover Java 5 thread pooling and semaphores.

Part VII Enhancements

Part VII, “Advanced GUI Programming,” is expanded into five chapters with new short and simple examples to teach complex subjects.

Part VIII Enhancements

Part VIII, “Web Programming,” is expanded into five chapters. The advanced database programming is in a separate chapter and may be skipped.