Java How to Program, Late Objects, Global Edition

Harvey Deitel / Paul J. Deitel  
Total pages
September 2019
Related Titles


Unparalleled breadth and depth of object-oriented programming concepts

The Deitels’ groundbreaking How to Program series offers unparalleled breadth and depth of programming fundamentals, object-oriented programming concepts and intermediate-level topics for further study. Java How to Program, Late Objects, 11th Edition, presents leading-edge computing technologies using the Deitel signature live-code approach, which demonstrates concepts in hundreds of complete working programs. The 11th Edition presents updated coverage of Java SE 8 and new Java SE 9 capabilities, including JShell, the Java Module System, and other key Java 9 topics. [Java How to Program, Early Objects, 11th Edition also is available.]


· Rich coverage of programming fundamentals; real-world examples.

· Friendly late classes and objects presentation.

· Use easily with JavaTM SE 8 and/or the new JavaTM SE 9.

o Java SE 9 content is in easy-to-include-or-omit sections.

o Perfect for instructors who want to stay in Java SE 8 for a while and ease into Java SE 9.

o Perfect for instructors who want to add JShell (Java 9’s interactive Java) to their Java SE 8 or Java SE 9 courses.

· Signature live-code approach teaches programming by presenting the concepts in the context of complete working programs.

· The text’s modular organization is appropriate for introductory and intermediate programming courses, and helps instructors plan their syllabi.

· Comprehensive coverage of concepts and topics:

o Interactive Java through JShell–Java SE 9’s most exciting new pedagogic feature.

o Java 9 topics: Modularity (online), collection factory methods and other language and API enhancements.

o Lambdas, sequential and parallel streams, functional interfaces, immutability.

o JavaFX GUI, 2D and 3D graphics, animation and video.

o Composition vs. Inheritance, dynamic composition.

o Programming to an interface not an implementation.

o Files, input/output streams and XML serialization.

o Concurrency for optimal multi-core performance.

o Other topics: recursion, searching, sorting, generics, generic collections, data structures, optional Swing GUI, multithreading, database (JDBC TM and JPA), web-app development, REST-based web services.

· Access to the Companion Website ( is available with the purchase of a new textbook and provides extra hands-on experience and study aids, including:

o Extensive VideoNotes allow students to view the problem-solving process outside of the classroom–when they need help the most. In the VideoNotes, co-author Paul Deitel patiently explains most of the programs in the book’s core chapters. Students like viewing the VideoNotes for reinforcement of core concepts and for further insights.

o Additional chapters and appendices for advanced courses.

o Evolving Java SE 9 content

o Source code for the book’s examples.

Facilitate Learning with Outstanding Applied Pedagogy

· Programming Wisdom: Hundreds of valuable programming tips facilitate learning. Icons throughout the text identify Software Engineering Observations, Good Programming Practices, Common Programming Errors, Error-Prevention Tips, Portability Tips, Performance Tips, and Look-and-Feel Observations (for GUI design). These represent the best the authors have gleaned from a combined nine decades of programming and teaching experience.

· Hundreds of self-review exercises with answers.

· Hundreds of interesting real-world exercises and projects enable students to apply what they've learned in each chapter (Instructor Solutions Manual contains answers for most).

· “Making a Difference” exercises encourage students to use computers and the Internet to research and address significant social problems.

· Most of the programming exercises are titled to help instructors select the most appropriate exercises for homework assignments.

New to this Edition

· Flexibility Using Java SE 8 or the New Java SE 9 (which includes Java SE 8)

· Java How to Program, 11/e’s Modular Organization

· Introduction and Programming Fundamentals

· Flexible Coverage of Java SE 9: JShell, the Module System and Other Java SE 9 Topics

· Object-Oriented Programming Flexible JavaFX/Swing GUI, Graphics and Multimedia Coverage

· Data Structures and Generic Collections

· Flexible Lambdas and Streams Coverage

· Concurrency and Multi-Core Performance

· Database: JDBC and JPA

· Web-Application Development and Web Services

· Optional Online Object-Oriented Design Case Study

Table of Contents

1. Introduction to Computers, the Internet and Java

2. Introduction to Java Applications; Input/Output and Operators

3. Control Statements: Part 1; Assignment, ++ and -- Operators

4. Control Statements: Part 2; Logical Operators

5. Methods

6. Arrays and ArrayLists

7. Introduction to Classes and Objects

8. Classes and Objects: A Deeper Look

9. Object-Oriented Programming: Inheritance

10. Object-Oriented Programming: Polymorphism and Interfaces

11. Exception Handling: A Deeper Look

12. JavaFX Graphical User Interfaces: Part 1

13. JavaFX GUI: Part 2

14. Strings, Characters, and Regular Expressions

15. Files, Input/Output Streams, NIO and XML Serialization

16. Generic Collections

17. Lambdas and Streams

18. Recursion

19. Searching, Sorting and Big O

20. Generic Classes and Methods: A Deeper Look

21. Custom Generic Data Structures

22. JavaFX Graphics and Multimedia

23. Concurrency

24. Accessing Databases with JDBC

25. Introduction to JShell: Java 9’s REPL

Chapters on the Web

A. Operator Precedence Chart

B. ASCII Character Set

C. Keywords and Reserved Words

D. Primitive Types

E. Using the Debugger

Appendices on the Web



Online Chapters and Appendices

26. Swing GUI Components: Part 1

27. Graphics and Java 2D

28. Networking

29. Java Persistence API (JPA)

30. JavaServer™ Faces Web Apps: Part 1

31. JavaServer™ Faces Web Apps: Part 2

32. REST-Based Web Services

33. (Optional) ATM Case Study, Part 1: Object-Oriented Design with the UML

34. (Optional) ATM Case Study, Part 2: Implementing an Object-Oriented Design

35. Swing GUI Components: Part 2

36. Java Module System and Other Java 9 Features

F. Using the Java API Documentation

G. Creating Documentation with javadoc

H. Unicode®

I. Formatted Output

J. Number Systems

K. Bit Manipulation

L. Labeled break and continue Statements

M. UML 2: Additional Diagram Types

N. Design Patterns