- Use promo code PRIMEBOOKS18 to save $5.00 when you spend $20.00 or more on Books offered by Amazon.com. Enter code PRIMEBOOKS18 at checkout. Here's how (restrictions apply)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Thinking in Java (4th Edition) 4th Edition
Use the Amazon App to scan ISBNs and compare prices.
Fulfillment by Amazon (FBA) is a service we offer sellers that lets them store their products in Amazon's fulfillment centers, and we directly pack, ship, and provide customer service for these products. Something we hope you'll especially enjoy: FBA items qualify for FREE Shipping and Amazon Prime.
If you're a seller, Fulfillment by Amazon can help you increase your sales. We invite you to learn more about Fulfillment by Amazon .
This item, sold by Amazon.com, is currently reserved exclusively for Prime members.
- Unlimited Free Two-Day Shipping
- Instant streaming of over 40,000 movies and TV episodes
- A Kindle book to borrow for free each month - with no due dates
- Over a million songs and hundreds of playlists
Also available to Amazon Students. Check for eligibility
See the Best Books of 2018 So Far
Looking for something great to read? Browse our editors' picks for the best books of the year so far in fiction, nonfiction, mysteries, children's books, and much more.
Special offers and product promotions
From the Back Cover
""Thinking in Java" should be read cover to cover by every Java programmer, then kept close at hand for frequent reference. The exercises are challenging, and the chapter on Collections is superb! Not only did this book help me to pass the Sun Certified Java Programmer exam; it's also the first book I turn to whenever I have a Java question."
"--Jim Pleger, Loudoun County (Virginia) Government"""Much" better than any other Java book I've seen. Make that 'by an order of magnitude'.... Very complete, with excellent right-to-the-point examples and intelligent, not dumbed-down, explanations.... In contrast to many other Java books I found it to be unusually mature, consistent, intellectually honest, well-written, and precise. IMHO, an ideal book for studying Java."
"--Anatoly Vorobey, Technion University, Haifa, Israel""Absolutely one of the best programming tutorials I've seen for any language."
"--Joakim Ziegler, FIX sysop""Thank you again for your awesome book. I was really floundering (being a non-C programmer), but your book has brought me up to speed as fast as I could read it. It's really cool to be able to understand the underlying principles and concepts from the start, rather than having to try to build that conceptual model through trial and error. Hopefully I will be able to attend your seminar in the not-too-distant future."
"--Randall R. Hawley, automation technician, Eli Lilly & Co.""This is one of the best books I've read about a programming language.... The best book ever written on Java."
"--Ravindra Pai, Oracle Corporation, SUNOS product line""Bruce, your book is wonderful! Your explanations are clear and direct. Through your fantastic book I have gained a tremendous amount of Java knowledge. The exercises are also "fantastic" and do an excellent job reinforcing the ideas explained throughout the chapters. I look forward to reading more books written by you. Thank you for the tremendous service that you are providing by writing such great books. My code will be much better after reading "Thinking in Java." I thank you and I'm sure any programmers who will have to maintain my code are also grateful to you."
"--Yvonne Watkins, Java artisan, Discover Technologies, Inc.""Other books cover the "what" of Java (describing the syntax and the libraries) or the "how" of Java (practical programming examples). "Thinking in Java" is the only book I know that explains the "why" of Java: Why it was designed the way it was, why it works the way it does, why it sometimes doesn't work, why it's better than C++, why it's not. Although it also does a good job of teaching the what and how of the language, "Thinking in Java" is definitely the thinking person's choice in a Java book."
"--Robert S. Stephenson"Awards for "Thinking in Java"2003 "Software Development Magazine" Jolt Award for Best Book
2003 "Java Developer's Journal" Reader's Choice Award for Best Book
2001 "JavaWorld" Editor's Choice Award for Best Book
2000 "JavaWorld" Reader's Choice Award for Best Book
1999 "Software Development Magazine" Productivity Award
1998 "Java Developer's Journal" Editor's Choice Award for Best Book
"Thinking in Java" has earned raves from programmers worldwide for its extraordinary clarity, careful organization, and small, direct programming examples. From the fundamentals of Java syntax to its most advanced features, "Thinking in Java" is designed to teach, one simple step at a time.The classic object-oriented introduction for beginners and experts alike, fully updated for Java SE5/6 with many new examples and chapters!Test framework shows program output.Design patterns are shown with multiple examples throughout: Adapter, Bridge, Chain of Responsibility, Command, Decorator, Facade, Factory Method, Flyweight, Iterator, Data Transfer Object, Null Object, Proxy, Singleton, State, Strategy, Template Method, and Visitor.Introduction to XML for data transfer; SWT, Flash for user interfaces.Completely rewritten concurrency chapter gives you a solid grasp of threading fundamentals.500+ working Java programs in 700+ compiling files, rewritten for this edition and Java SE5/6.Companion web site includes all source code, annotated solution guide, weblog, and multimedia seminars.Thorough coverage of fundamentals; demonstrates advanced topics.Explains sound object-oriented principles."Hands-On Java Seminar CD" available online, with full multimedia seminar by Bruce Eckel.Live seminars, consulting, and reviews available. "See" www.MindView.net
Download seven free sample chapters from "Thinking in Java, Fourth Edition." Visit http: //mindview.net/Books/TIJ4.
About the Author
Bruce Eckel is president of MindView, Inc. (www.MindView.net), which provides public and private training seminars, consulting, mentoring, and design reviews in object-oriented technology and design patterns. He is the author of several books, has written more than fifty articles, and has given lectures and seminars throughout the world for more than twenty years. Bruce has served as a voting member of the C++ Standards Committee. He holds a B.S. in applied physics and an M.S. in computer engineering.
Top customer reviews
There was a problem filtering reviews right now. Please try again later.
Having read dozens of programming books over the years, my take is that the majoriy are quickly put out and cover a lot of the same crud that every other book does, and in the same unfilling manner of them all. THIS BOOK however is totally fresh.
My two books for the year are "Thinking in Java" and "Nerd Ranch Guide to Android Programming".
This book has influenced my Java skills more than any other... Thinking In Java (4th Edition) by Bruce Eckel. It's the first one that actually made object-oriented programming understandable for me.
Contents: Introduction; Introduction to Objects; Everything Is an Object; Operators; Controlling Execution; Initialization & Cleanup; Access Control; Reusing Classes; Polymorphism; Interfaces; Inner Classes; Holding Your Objects; Error Handling with Exceptions; Strings; Type Information; Generics; Arrays; Containers in Depth; I/O; Enumerated Types; Annotations; Concurrency; Graphical User Interfaces; Supplements; Resources; Index
I first got a copy of Thinking In Java back in 2000 when I was trying to wrap my mind around the language and object-oriented concepts. I was fortunate to read it before taking a Java class at the Sun headquarters. The person teaching object-oriented concepts was "less than stellar", but I was able to get my money's worth because I had been prepped with this book. Eckel has the rare ability to explain and structure his content in such a way that you feel like you're getting a personalized lesson. The diagrams and code samples work hand-in-hand to clarify each concept and to build your skill base step-by-step. Once you get done working your way through the 1400+ pages (yes, it's big!), there's not much you won't be able to do or understand in the world of Java.
Thinking In Java is one of two books I recommend to anyone looking to get started in object-oriented Java coding. It will always hold a special place on my bookshelf, and I'll be forever in debt to Bruce Eckel for writing such an outstanding book.
I expected more from a book with "Thinking" as the operative word in the title. I expected something that approached the language from a big-picture perspective. This may have been somewhat true in the earlier chapters, but is certainly not the case in chapters 8 (interfaces & inner classes) and 9 (holding your objects). Maybe it gets better after those chapters, but I couldn't read any more without writing this review.
So how does the book undershoot the word "Thinking"? If one examined a map of a lake with a complicated shoreline (bays, inlets, coves, etc), a "Thinking" book on the topic would cover all of the "channels" (for land lovers, those are boat pathways), and why one channel would be better than the other during various conditions (wind from the east, use the channel close to the west shore). I found this book tedious in it's exploration of every foot of jagged lakeshore. I'm not asking for a smaller book, just one that moves some of the lesser important features into an appendix or something.
The examples exercise the language very well. They show many, many features of the language. They are not very self explanatory. A huge flaw in the examples is the dependence on the author's utility classes. If the reader is trying to understand Java's hundreds of classes, there is no need to introduce more classes, even if it shrinks the code a bit. It might make the examples a bit more tidy, but it comes at a big price. Every line the reader encounters must be run through the 'can I use it' filter. After digesting hundreds of lines of examples, keeping this filter 'on' is tedious. Many of the utility classes can be avoided, for example, what's wrong with just filling an array manually? It's not as cool, but it's instantly obvious what's going on! Why use an example with 10 items when it would be more clear with 3? Why have System.out.println(a), when you could have System.out.println("after doing x, a=" + a);? And how about including output in the book? Yes, we have the code on the CD, and I could run the example, but when I'm reading, I'd rather have the output right there in print.
If you think popping open a few classes in the Java standard library, and figuring out how they work is fun, you'll probably like to read this book. Personally, I have never found the need to examine the workings of the standard library. I am "the client programmer", so I use what they've done. In my real world, the best code is not the shortest. The best code is written to be understood as quickly as possible. I think a book that intends to teach Java strive for "obviousness". The examples in this book, though, do not excel in that area. The examples can be understood, and they show a lot of features, but the same concepts could be demonstrated with more clarity. As I said, getting rid of the author's utility classes (yes, they are really cool, yes they would be great improvements to the language, yadda, yadda), would be a great first step. I have re-written a few examples without the utility class, and find it much easier to see what's going on. Some might say I made examples "for dummies", but if there is nothing sacrificed in the way of concept, then why not?
I'm going to finish this book (if it kills me), and I'll likely be a better programmer for it, but I just don't think it's the shortest path to Java nirvana.
Certified Programmer exam. I used many other books as well, but I find I keep coming back to it.
I used the first edition, and there are some portions that were a bit challenging, but that wasn't because of the quality of the writing. This author prides himself on "educating" rather than than just pumping out a book. He has years of experience as a teacher and knows the places where students will have difficulty. I recommend this book to anyone who wants to learn java.