Think Java is a hands-on introduction to computer science and programming used by many universities and high schools around the world. Its conciseness, emphasis on vocabulary, and informal tone make it particularly appealing for readers with little or no experience. The book starts with the most basic programming concepts and gradually works its way to advanced object-oriented techniques.
In this fully updated and expanded edition, authors Allen Downey and Chris Mayfield introduce programming as a means for solving interesting problems. Each chapter presents material for one week of a college course and includes exercises to help you practice what you’ve learned. Along the way, you’ll see nearly every topic required for the AP Computer Science A exam and Java SE Programmer I certification.
Discover one concept at a time: tackle complex topics in a series of small steps with multiple examplesUnderstand how to formulate problems, think creatively about solutions, and develop, test, and debug programsLearn about input and output, decisions and loops, classes and methods, strings and arrays, recursion and polymorphismDetermine which program development methods work best for you, and practice the important skill of debugging
From the brand

See more books in the series
More From O’Reilly

Sharing the knowledge of experts
O’Reilly’s mission is to change the world by sharing the knowledge of innovators. For over 40 years, we’ve inspired companies and individuals to do new things (and do them better) by providing the skills and understanding that are necessary for success.
Our customers are hungry to build the innovations that propel the world forward. And we help them do just that.
Publisher : O’Reilly Media
Publication date : January 7, 2020
Edition : 2nd
Language : English
Print length : 326 pages
ISBN-10 : 1492072508
ISBN-13 : 978-1492072508
Item Weight : 2.31 pounds
Dimensions : 7 x 0.75 x 9.25 inches
Best Sellers Rank: #713,008 in Books (See Top 100 in Books) #49 in Object-Oriented Software Design #101 in Java Programming #172 in Object-Oriented Design
Customer Reviews: 4.6 4.6 out of 5 stars (125) var dpAcrHasRegisteredArcLinkClickAction; P.when(‘A’, ‘ready’).execute(function(A) { if (dpAcrHasRegisteredArcLinkClickAction !== true) { dpAcrHasRegisteredArcLinkClickAction = true; A.declarative( ‘acrLink-click-metrics’, ‘click’, { “allowLinkDefault”: true }, function (event) { if (window.ue) { ue.count(“acrLinkClickCount”, (ue.count(“acrLinkClickCount”) || 0) + 1); } } ); } }); P.when(‘A’, ‘cf’).execute(function(A) { A.declarative(‘acrStarsLink-click-metrics’, ‘click’, { “allowLinkDefault” : true }, function(event){ if(window.ue) { ue.count(“acrStarsLinkWithPopoverClickCount”, (ue.count(“acrStarsLinkWithPopoverClickCount”) || 0) + 1); } }); });
13 reviews for Think Java: How to Think Like a Computer Scientist
Add a review
Original price was: $49.99.$30.49Current price is: $30.49.

Andrew Anderson –
Good book for Java.
I’m taking the class for Java now and this book is a big help. Other books may be helpful, but this one is a keeper.
Barend H. –
Great for students
Great book, great for beginners
Not Sure –
It helps to learn the structure of Java
The layout of the book is really good in that it starts from super easy and gradually works you up to harder concepts. The explanations could be better on some parts like the methods and constructors, which were confusing at times. It has the “think like a computer scientist” which is semi-true in a way. They go into a little detail with binary, garbage collection and how a machine thinks/stores data. That is more assembly language territory though. Still I recommend to give it a try along with some YouTube videos.
ashutosh soman –
Good
Very helpful!
Joshua Nezianya –
Clear and Concise
This book was extremely helpful. I went to a coding bootcamp and there were a few concepts that were a bit shaky. Think Java was really helpful clearing things up recursive methods, mutable objects, and extending classes. I’m able to think programming problems and through now. I don’t have to google as much and I explain my solutions much better at work. I hope the author can make a book for Ruby.
Alpha –
A great book for beginners
It’s simple enough for beginners.I was looking for a book for students in 7th to 12th grade, and this is a perfect one. Vol I of Core Java has more than 900 pages, which is too thick.The same author has other great books, Think Python, Elements of Data Science.
Beginner –
Useful book for those people who want to get Introducted to Java
This book teaches the fundamental aspects of programming using Java language and it is overall concise and easy to understand.
0m0 –
Fun for programmers
Fun book to read.
Rafael D. –
This book should be titled “Java for absolute beginners” or “How I would explain Java to my grandmother”
G L HIGGS –
Good read for student beginners
Luiz Gasparetto –
Good book for learn Java.Much good.
Karolina Lencina –
Great book, arrived super early in excellent condition.
Adebayo A Adegunloye –
Great book but I still hate Java. Just saying lol