Image from Amazon Title: Head First Java: A Brain-Friendly Guide, 3rd edition
Author(s): Kathy Sierra, Bert Bates and Trisha Gee
Category: Beginning Java
Amazon wrote:What will you learn from this book?
Head First Java is a complete learning experience in Java and object-oriented programming. With this book, you'll learn the Java language with a unique method that goes beyond how-to manuals and helps you become a great programmer. Through puzzles, mysteries, and soul-searching interviews with famous Java objects, you'll quickly get up to speed on Java's fundamentals and advanced topics including lambdas, streams, generics, threading, networking, and the dreaded desktop GUI. If you have experience with another programming language, Head First Java will engage your brain with more modern approaches to coding--the sleeker, faster, and easier to read, write, and maintain Java of today.
What's so special about this book?
If you've read a Head First book, you know what to expect--a visually rich format designed for the way your brain works. If you haven't, you're in for a treat. With Head First Java, you'll learn Java through a multisensory experience that engages your mind, rather than by means of a text-heavy approach that puts you to sleep.
“Head First Java” is an amazing book for getting started with Java. It's fun to read, covers lots of materials and does an amazing job reinforcing the material. I particularly like the variety of exercises including the crossword puzzles.
This book has been updated for Java 17. A big jump from the previous edition which pre-dated Java 8. As one would expect, there is a good explanation of Java's numbering scheme. Some new concepts are mixed in and others are included in an appendix of top 10 (well 11, but we are programmers so off by one is fitting!) While some advanced concepts aren't covered, everything a beginner should know is in here. There's even a reference to modules so you can understand the JavaDoc. (Don't worry, you won't be creating modules.)
Lots of examples are fun like the race between the procedural and OO coders and the battleship example. I particularly liked the “Getting in touch with your inner class” from the author of “who moved my char.” The pictures are great for attracting the reader's attention. In my case, I was reading the book on the train and a baby kept poking at the page. A little distracting. But definitely drew attention.
I like how the book builds up. For example lambdas are covered when showing how to make a comparator and then in more detail in chapter 12. I love the stream analogy as a recipe – nothing happens until you cook it!
There is one thing that prevents me from giving this book a perfect review. Swing. Starting chapter 14, Swing has a big presence in the next four chapters. Swing isn't used much in new code. I understand why they chose it. And I appreciate that page 464 explains this choice to the reader. While I wish the book didn't cover Swing, it is overall an amazing book.
I give this book 9 out of 10 stars.
Disclosure: I received a free copy of this book from the publisher in exchange for writing this review.