Teach Programming with the Deitels’ Signature Live Code Approach
- The signature Live Code Approach presents language features in the context of complete working programs:
- Features thousands of lines of code in hundreds of complete working programs
- Enables students to confirm that programs run as expected
- Students can also manipulate the code from the book's Companion Website or from the author's Website
- Full color program listings include highlighting of the new features presented and syntax coloring of code to help readers better interpret the code.
Use a Late Objects Approach
- The Late Objects Version use a late objects approach, covering programming fundamentals such as data types, variables, operators, control statements, methods and arrays in the early chapters. Then students develop their first customized classes and objects in Chapter 7. [For courses that require an early-objects approach, consider Java How to Program, 10/e, Early Objects.]
- The object-oriented programming presentation features Account, Time, Employee, GradeBook and Card shuffling-and-dealing real-world case studies.
- A series of real-world case studies illustrates inheritance, interfaces, polymorphism and composition concepts and explains situations in which each is preferred in building industrial-strength applications.
- Basic exception handling is introduced early in the book, and then presented with a deeper treatment in Chapter 11. Exception handling is important for building “mission-critical” and “business-critical” applications.
- Chapter 6 covers class Arrays—which contains methods for performing common array manipulations—and class ArrayList—which implements a dynamically resizable array-like data structure. The chapter’s rich selection of exercises includes a substantial project on building your own computer through the technique of software simulation. The Chapter 21 exercises include a follow-on project on building your own compiler that can compile high-level language programs into machine language code that will execute on your computer simulator.
- The object-oriented design/UML Developing an Object-Oriented Design and Java Implementation of an ATM Optional Online Case Study is organized into two optional chapters that present the ATM’s design and complete code implementation. A typical requirements document that specifies the system to be built is analyzed. The authors then determine the classes needed to implement that system, the attributes the classes need to have, the behaviors the classes need to exhibit and specify how the classes must interact with one another to meet the system requirements. From the design a complete Java implementation is produced. Students often report having a “light-bulb moment”—the case study helps them “tie it all together” and really understand object orientation.
- Scalable GUI and graphics presentation grants instructors teaching introductory courses with a broad choice of the amount of GUI, graphics and multimedia to cover— from none at all, to optional introductory sections in the early chapters, to a deep treatment of Swing GUI and Java 2D graphics, and a deep treatment of JavaFX GUI, graphics and multimedia.
Keep Your Course Current
NEW! Java Standard Edition: Java SE 7 and the New Java SE 8
- Easy to use with Java SE 7 or Java SE 8. To meet the needs of our audiences, the book is designed for college and professional courses based on Java SE 7, Java SE 8 or a mixture of both. The Java SE 8 features are covered in optional, easy-to-include-or-omit sections. The new Java SE 8 capabilities can dramatically improve the programming process.
- Java SE 8 lambdas, streams, and interfaces with default and static methods. The most significant new features in JavaSE 8 are lambdas and complementary technologies, which are covered in detail in the optional Chapter 17 and optional sections marked “Java SE 8” in later chapters. Java SE 7’s try-with-resources statement and the AutoClosable Interface. In this edition, try-with-resources and AutoClosable objects are used, as appropriate, starting in Chapter 15, Files, Streams and Object Serialization.
- Java security. The book is audited against the CERT Oracle Secure Coding Standard for Java as appropriate for an introductory textbook. Java NIO API. The file-processing examples in Chapter 15 are updated to use features from the Java NIO (new IO) API.
- Java Documentation.Throughout the book, links are provided to Java documentation to learn more about the topics presented.
NEW! Swing and JavaFX GUI, Graphics and Multimedia
- Swing GUI and Java 2D graphics. Java’s Swing GUI is discussed in the optional GUI and graphics sections in Chapters 2–6 and 8–10, and in Chapters 12 and 22. Chapter 13 discusses Java 2D graphics.
- JavaFX GUI, graphics and multimedia. In Chapter 25, JavaFX 2.2 is used with Java SE 7. The online Chapters 26 and 27 present additional JavaFX GUI features and introduce JavaFX graphics and multimedia in the context of Java FX 8 and Java SE 8. In Chapters 25–27 Scene Builder is used—a drag-and-drop tool for creating JavaFX GUIs quickly and conveniently.
- Concurrency for optimal multi-core performance. Brian Goetz, co-author of Java Concurrency in Practice (Addison-Wesley), was a reviewer for this edition. Chapter 23 is updated with Java SE 8 technology and idiom. A parallelSort vs. sort example is added that uses the Java SE 8 Date/ Time API to time each operation and demonstrate parallelSort’s better performance on a multi-core system. A Java SE 8 parallel vs. sequential stream processing example is included. Finally, a Java SE 8 CompletableFuture example is added that demonstrates sequential and parallel execution of long-running calculations.
- SwingWorker class. Class SwingWorker is used to create multithreaded user interfaces. Online Chapter 26 shows how JavaFX handles concurrency.
NEW! Getting Monetary Amounts Right
- Monetary amounts. For convenience, type double is used to represent monetary amounts in the early chapters. Due to the potential for incorrect monetary calculations with type double, class BigDecimal (which is a bit more complex) should be used to represent monetary amounts. BigDecimal is demonstrated in Chapters 8 and 25.
NEW! Database Coverage
- JDBC. Chapter 24 covers JDBC and uses the Java DB database management system. The chapter introduces Structured Query Language (SQL) and features an OO case study on developing a database-driven address book that demonstrates PreparedStatements.
- Java Persistence API. The new online Chapter 29 covers the Java Persistence API (JPA)—a standard for object relational mapping (ORM) that uses JDBC “under the hood.” ORMtools can look at a database’s schema and generate a set of classes that enabled you to interact with a database without having to use JDBC and SQL directly. This speeds database-application development, reduces errors and produces more portable code.
NEW! Web Application Development Coverage
- Java Server Faces (JSF). Online Chapters 30–31 have been updated to introduce the latest JavaServer Faces (JSF) technology for building web-based applications. Chapter 30 includes examples on building web application GUIs, validating forms and session tracking. Chapter 31 discusses data-driven, Ajax-enabled JSF applications—the chapter features a database-driven multitier web address book that allows users to add and search for contacts.
- Web services. As the vast majority of today’s web services now use REST, Chapter 32 now concentrates on creating and consuming REST-based web services.
Facilitate Learning with Outstanding Applied Pedagogy
- Hundreds of valuable programming tips facilitate learning. Icons throughout the text identify tips: Software Engineering Observations; Good Programming Practices; Common Programming Errors; Portability Tips; Performance Tips, Testing and Debugging Tips, and Look-and-Feel Observations.
- Extensive set of interesting exercises and substantial projects enable students to apply what they've learned in each chapter.
- “Making a Difference” exercise sets encourage students to associate computers and the Internet with solving problems that really matter to individuals, communities, countries and the world.
- These exercises encourage students to think for themselves as they explore complex social issues and increase awareness of important issues the world is facing.
- Many of the exercises require students to conduct research on the web and weave the results into their problem-solving process.
- Most of the programming exercises are titled for easy reference.
Support Teaching and Learning
Student Online Resources
Access to the Companion Website is available with the purchase of a new textbook.The Companion Website provides extra hands-on experience and study aids. It includes:
- Hours of detailed, expert video walkthroughs—VideoNotes—of many of the book's live-code examples. VideoNotes are step-by-step video tutorials specifically designed to enhance the programming concepts presented in Deitel, Java How to Program (Late Objects), 10e. Students can view the entire problem-solving process outside of the classroom—when they need help the most. VideoNotes are available with the purchase of a new copy of select titles. Go to www.pearsonhighered.com/videonotes for a brief VideoNotes demo;
- Post-assessment exams with hundreds of short answer questions (all with answers);
- Hundreds of self-review exercises drawn from the text (with answers);
- Hundreds of programming exercises from the main text (these exercises don't have answers in the main text, but half of these exercises have answers in the Companion Website);
- Hundreds of tips that are marked with icons and show how to write code that's portable, reusable, and optimized for performance; and full-text searching and hyperlinking.
The following supplements are available to qualified instructors only:
- Test-Item file of multiple-choice questions
- PowerPoint slides
- Solutions Manual
Visit the Pearson Instructor Resource Center www.pearsonhighered.com/irc for information on how to access them.
- Copyright 2015
- Dimensions: 7" x 9-1/8"
- Pages: 1248
- Edition: 10th
- ISBN-10: 0-13-257565-5
- ISBN-13: 978-0-13-257565-2
Java How to Program (Late Objects), Tenth Edition is intended for use in the Java programming course. It also serves as a useful reference and self-study tutorial to Java programming.
The Deitels’ groundbreaking How to Program series offers unparalleled breadth and depth of object-oriented programming concepts and intermediate-level topics for further study. Java How to Program (Late Objects), Tenth Edition, teaches programming by presenting the concepts in the context of full working programs.
The Late Objects Version delays coverage of class development, first presenting control structures, methods and arrays material in a non-object-oriented, procedural programming context.
Teaching and Learning Experience
This program presents a better teaching and learning experience—for you and your students.
- Teach Programming with the Deitels’ Signature Live Code Approach: Java language features are introduced with thousands of lines of code in hundreds of complete working programs.
- Use a Late Objects Approach: The Late Objects Version begins with a rich treatment of procedural programming, including two full chapters on control statements and 200+ exercises.
- Keep Your Course Current: This edition can be used with Java SE 7 or Java SE 8, and is up-to-date with the latest technologies and advancements.
- Facilitate Learning with Outstanding Applied Pedagogy: Making a Difference exercise sets, projects, and hundreds of valuable programming tips help students apply concepts.
- Support Instructors and Students: Student and instructor resources are available to expand on the topics presented in the text.
Table of Contents
Print Book Chapters
Chapter 1, Introduction to Computers, the Internet and Java
Chapter 2, Introduction to Java Applications; Input/Output and Operators
Chapter 3, Control Statements: Part 1; Assignment, ++ and — Operators
Chapter 4, Control Statements: Part 2; Logical Operators
Chapter 5, Methods
Chapter 6, Arrays and ArrayLists
Chapter 7, Introduction to Classes and Objects
Chapter 8, Classes and Objects: A Deeper Look
Chapter 9, Object-Oriented Programming: Inheritance
Chapter 10, Object-Oriented Programming: Polymorphism and Interfaces
Chapter 11, Exception Handling: A Deeper Look
Chapter 12, GUI Components: Part 1
Chapter 13, Graphics and Java 2D
Chapter 14, Strings, Characters and Regular Expressions
Chapter 15, Files, Streams and Object Serialization
Chapter 16, Generic Collections
Chapter 17, Java SE 8 Lambdas and Streams
Chapter 18, Recursion
Chapter 19, Searching, Sorting and Big O
Chapter 20, Generic Classes and Methods
Chapter 21, Custom Generic Data Structures
Chapter 22, GUI Components: Part 2
Chapter 23, Concurrency
Chapter 24, Accessing Databases with JDBC
Chapter 25, JavaFX GUI: Part 1
Chapter 26, JavaFX GUI: Part 2 (PSR-Per Software Release)
Chapter 27, JavaFX Graphics and Multimedia (PSR-Per Software Release)
Chapter 28, Networking
Chapter 29, Java Persistence Architecture (JPA)
Chapter 30, JavaServer™ Faces Web Apps: Part 1
Chapter 31, JavaServer™ Faces Web Apps: Part 2
Chapter 32, REST-Based Web Services
Chapter 33, ATM Case Study, Part 1: Object-Oriented Design with the UML
Chapter 34, ATM Case Study, Part 2: Implementing an Object-Oriented Design
Print Book Appendices
Appendix A, Operator Precedence Chart
Appendix B, ASCII Character Set
Appendix C, Keywords and Reserved Words
Appendix D, Primitive Types
Appendix E, Using the Debugger
Appendix F, Using the Java API Documentation
Appendix G, Creating Documentation with javadoc
Appendix H, Unicode
Appendix I, Formatted Output
Appendix J, Number Systems
Appendix K, Bit Manipulation
Appendix L, Labeled break and continue Statements
Appendix M, UML 2: Additional Diagram Types
Appendix N, Design Patterns