Millions of students and professionals have learned programming and software development with Deitel® textbooks, professional books, LiveLessons™ videos, e-books, REVEL™ interactive multimedia courses, online resource centers and instructor-led training. Java How to Program, 11/e provides a clear, simple, engaging and entertaining introduction to Java. Features include:

Comments From Recent Edition Reviewers

"Content is expertly covered and tested in exercises. New features added in Java 8 are commonplace in deployments today (I couldn’t imagine being without lambda expressions!), and Java 9 brings JShell, modules and numerous other improvements. Developers can realize massive productivity gains. I highly recommend this book for keeping current with the very latest developments in Java."—Jonathan Giles, Consulting Member of Technical Staff, Oracle

"Provides a thorough introduction to the JShell tool. JShell is a tool for discovery and Java How to Program, 11/e takes full advantage of that with interesting exercises."—Robert Field, JShell Architect, Oracle

"The combination of theory, clear explanation, example code and hands-on exercises makes this both a great learning experience and an excellent reference that is useful for any developer to have close at hand."—Trisha Gee, JetBrains, Java Champion

"Gives new programmers the benefit of the wisdom derived from many years of software development experience!"—Edward F. Gehringer, North Carolina State University

"Updated to reflect the state-of-the-art in Java technologies. I especially like the [optional] superb chapter that covers JShell, one of the flagships of Java 9. It’s an invaluable tool for learning and teaching Java with ease."—José Antonio González Seco, Consultant

"A great textbook with a myriad of examples from various application domains—excellent for a typical CS1 or CS2 course."—William E. Duncan, Louisiana State University

"Covers JavaFX functionality that makes it easy to create nice, active user interfaces. A great overview on how concurrency can help developers leverage multi-core processors."—Johan Vos, CTO, Cloud Products at Gluon, Java Champion

"The best introductory textbook that I’ve encountered. I wish I had this book when I was learning how to program! Good introduction to the software engineering process."—Lance Andersen, Oracle

"Want to start a Java developer career or take your Java skills to the next level? This book is the ultimate guide. I have enjoyed and learned much from it. Every major feature of Java is masterfully covered. With the great exercises (like building a compiler!) this is more than a book—it’s a careerbuilding program. I really enjoyed the Lambdas and Streams chapter."—Bruno Souza, President of SouJava (the Brazilian Java Society), Java Specialist at ToolsCloud, Java Champion and SouJava representative at the Java Community Process

❝ Nice job on JShell. The most recent changes to Java are by far the biggest evolutions to the language and the platform in over 20 years. The changes are complex and intriguing, but Paul and Harvey have distilled the concepts to an easily digestible form, with plenty of examples. This book is an incredible, comprehensive source for deeper learning of Java and its ecosystem."—Dr. Venkat Subramaniam, President, Agile Developer, Inc. and Instructional Professor, University of Houston

"A great jump-start on JavaFX—the successor to Swing—a very impressive treatment is given to many JavaFX concepts." —James L. Weaver, Co-author of Pro JavaFX 8

"I’m really impressed with the book’s quality—it makes difficult concepts very clear. Starting from no required Java knowledge, it guides the reader from basics to advanced topics. A great job explaining API’s and patterns clearly. Very interesting and entertaining introduction. A huge variety of exercises. Stack-frames explanation helps developers understand what’s happening under the hood. Good job explaining arrays before the more abstract collections. Guiding the reader to avoid dangerous patterns is as important as explaining the correct syntax—great work! Excellent introduction to object-oriented concepts. The reader is encouraged to think wisely and take a pragmatic approach, which I like very much. Great polymorphism chapter—helps the reader distinguish between abstract classes and Java 8 interfaces with default methods. Good discussion of analyzing exception stack traces for debugging information. Very good introduction to hashtables. Great introduction to BigInteger and BigDecimal. One of the best explanations of generics I’ve read. Clearly explains collections, and when and how they should be used for best performance. Presents lambdas and streams in an excellent and gradual way. The explanations of linked lists, stacks and queues are excellent."—Johan Vos, CTO, Cloud Products at Gluon, Java Champion

"I really like the use of test classes to demonstrate functionality—this is good practice. You get a good feel for when you’d use lambdas and streams. I like the concrete examples in the explanations of Big O. Solid intro to the REPL, with plenty of hands-on code to demo its features— this chapter taught me things and felt very valuable." —Trisha Gee, JetBrains, Java Champion

"Deep and crystal-clear explanations. Good job upgrading the book to JavaFX—the state-of-the-art Java GUI technology. Java FX Graphics and Multimedia is a really colorful chapter that will delight students with its practical and well-chosen examples. The good writing and focused exercises make learning generic collections enjoyable—great job. A brilliant explanation of recursion, full of interesting exercises like The Towers of Hanoi and drawing fractals."—José Antonio González Seco, Consultant

"Easy-to-follow examples provide great teaching opportunities! I like the optional early graphics track—the exercises will be fun for the students. OO design techniques are incorporated throughout. Great polymorphism and interface examples. Great comparison of recursion and iteration. A simplified explanation of Big O—the best I’ve read! Great approach to Java web technologies."—Sue McFarland Metzger, Villanova U.

"Nice breadth of coverage of traditional core Java and programming topics as well as newer areas such as lambda expressions and areas becoming more critical such as concurrent programming. I like the bank-account class example. Arrays and ArrayLists is a fine chapter. Classes chapters provide a good examination of data-type creation. Nice chapter on exception handling. Very nice coverage of files, streams, serialization, generics and hand-managed, node-based data structures."—Evan Golub, University of Maryland

"A great book for studying the world’s most popular programming language. Really good, clear explanation of object-oriented programming fundamentals. Excellent polymorphism chapter. Covers all the essentials of strings. Introduces JavaFX, the great new way to develop client applications in Java—I like the use of Scene Builder to create the GUI with drag-and-drop design rather than doing it by hand, which shows the way it should be done. Good to see try-with-resources and DirectoryStream. Excellent generic collections chapter. Covers lambdas and streams well. Good coverage of concurrency. "—Simon Ritter, Oracle

"The early introduction of the class concept is clearly presented. A comprehensive overview of control structures and the pitfalls that befall new programmers. I applaud the authors for their topical research and illustrative examples. The arrays exercises are sophisticated and interesting. The clearest explanation of pass-by-value and pass-by-reference that I’ve encountered. A logical progression of inheritance and the rationale for properly implementing encapsulation in a system involving an inheritance hierarchy. The polymorphism and exception handling discussions are the best I’ve seen. An excellent strings chapter. I like the recursion discussions of the ‘Lo Fractal’ and backtracking, which is useful in computer vision applications. A good segue into a data structures course."—Ric Heishman, George Mason University

"Practical top-down, solution approach to teaching programming basics, covering pseudocode, algorithm development and activity diagrams. Of immense value to practitioners and students of the object-oriented approach. Demystifies inheritance and polymorphism, and illustrates their use in getting elegant, simple and maintainable code. The optional OO design case study presents the object-oriented approach in a simple manner, from requirements to Java code."—Vinod Varma, Astro Infotech Private Limited

"Most major concepts are illustrated by complete, annotated programs. Abundant exercises hone your understanding of the material. JDBC is explained well."—Shyamal Mitra, University of Texas at Austin

"You’ll be on your way to becoming a great Java programmer with this book."—Peter Pilgrim, Java Champion, Consultant

"Excellent descriptions of the search and sort algorithms and a gentle introduction to Big O—the examples give the code for the algorithms, and output that creates a picture of how the algorithms work."—Diana Franklin, University of California, Santa Barbara

"Beautiful collections of exercises. Nice illustration of how to use Java to generate impressive graphics."—Amr Sabry, Indiana U.

"The optional OOD ATM case study puts many concepts from previous chapters together in a plan for a large program, showing the object-oriented design process—the discussion of inheritance and polymorphism is especially good."—Susan Rodger, Duke University

"Fantastic textbook and reference. Provides great detail on the latest Java features including lambdas. The code examples make it easy to understand the concepts. GUI examples are very good and the exercises are well thought out. Graphics examples are easy to follow; good and challenging exercises."—Lance Andersen, Principal Member of the Technical Staff, Oracle

"Perfect introduction to strings. Best introduction to Java 2D I’ve seen! The collections framework is well explained. Good introduction to the most essential data structures. A nice introduction to JavaFX. "—Manfred Riem, Java Champion

"A plethora of well-thought-through exercises. I like the DeckOfCards example, the employee polymorphism example, the clear definitions of regular expressions and the Pig Latin exercise. Good introduction to collections and hashtable performance. Solid threading treatment." —Dr. Danny Coward, Oracle

"The inheritance chapter is excellent; examples are gender neutral which is perfect." —Khallai Taylor, Assistant Professor, Triton College and Adjunct Professor, Lonestar College—Kingwood

"Good explanation of translating from pseudocode to Java. I like how the book flows. Excellent exception and Java SE 8 interface explanations." —Jorge Vargas, Yumbling, Java Champion

"The Making a Difference exercises are inspired—they have a contemporary feeling, both in their topics and in the way they encourage the student to gather data from the Internet and bring it back to the question at hand."—Vince O’Brien, Pearson Education (our publisher)