Friday, September 10, 2021

4 Books to learn Java Programming from Scratch in 2021 - Best of lot

I receive half a dozen emails every day asking about which is the best to learn Java from scratch? Which book should I read in 2021 to learn Java? Or Which is the best Java for beginners? When I receive such an email, before giving my recommendation, I ask two questions, first do you have any programming experience? like, Are you coming from C, C++, or Python background? Or you are a fresher with no experience in programming, just a couple of classes on data structure and algorithm and operating systems in college.

If the guy has some prior experience, I recommend a book like Core Java for the Impatient, which teaches the basics of Java programming language and API and also how to use Java in the right way.

But if he doesn't have any programming experience, I usually ask him to first read Head First Programming before suggesting they read any Java book. Why? Because before learning Java, you must know what is programming.

If you don't know anything about variable, function, loop, if-else block, or switch statements, it's difficult to learn Java. In this article, I'll recommend what I think is the best book to learn Java from scratch in 2021, where Java 13 has gained a lot of paces, and the push for Java 14 has already started.

I will only recommend the book, which I found, both interesting to read, informative, and thorough, also keeping in mind that you know a little bit of programming.

All the books I recommend covers Java 8, except Head First Java, which has not been updated for a long time but is still good enough to teach you the basics of Java given its unique style of teaching. Btw, if you prefer online courses, then The Complete Java MasterClass on Udemy is also an excellent place to start with.

Top 4 Books to Learn Java Programming in 2021

Here is my list of some of the best books to learn core Java from scratch in 2021. These books also cover Java SE 9, 10, 11, 12, 13, and 14 the more recent versions of Java.

Of course, it's not possible anymore for a book to cover the latest Java version as a new version is coming out every 3 months, which is a short time to update a paper. Btw, courses have done well to update themselves like The Complete Java MasterClass was recently updated for Java 12.

I have include books that you can read quickly to gain knowledge, like the first book as well as books that can provide you comprehensive learning of Java and its different API, the second book.

1. Modern Java in Action

This is the revised version of Manning's best-selling "Java 8 in Action" book to cover new features of the latest Java versions like Java 9 and Java 10.

This is not a book to learn from scratch but it is the best book to build on your existing Java skills with the newest features and techniques.  The best use of this book is to combine this with a resource that provides a comprehensive introduction of Java-like The Complete Java Masterclass course on Udemy

best book to learn Java 9 and Java10

2. Core Java Volume 1 and 2

This is another excellent book from Cay S. Horstmann and the second-best book to learn Java for beginners. This is the ideal book for any C or C++ programmer who wants to learn Java.

The author often correlated the C++ concept with Java, like he talks about how the constructor is different in C++ and Java. How Generic and Template are similar but different, and so on.

This comparative analysis takes advantage of a prior knowledge a C or C++ programmer has to explain new concepts in Java. Though this book is not limited to C++ programmers.

Even if you don't know C++, you can benefit from this book. If you want more interactive learning then you can also combine this book with Coursera's Object-Oriented Programming in Java Specialization and Course, which is offered by Duke University.

This is one of the best Coursera certifications for Java developers and more than 71K people have already joined this course. You will not only Java fundamentals but also Data Structure, Problem-solving, and Software development in Java. 

best core java book 2019

Coming to the book, there is also the second part of this Core Java Volume 2 - Advanced Features, which covers the more advanced topic in Java, like JDBC, XML processing, JSON, Annotations, etc.

The current edition, 10th Edition of this book, covers Java SE 8, but 11th Edition is on the way, which will also include Java SE 9 and hopefully Java 10 and 11.

3. Head First Java

This book is the best beginner's Java book of the last decade. It is still a great book but desperately needs the 3rd edition to convert Java SE 8.

The Head First Java only covers up to Java 1.5, which is more than 12 years old now, and Java has changed a lot starting from Java SE 8.

Then why do I still recommend Head First Java to beginners? Well, because of its unique style and presentation. 

The Head fist style works best for beginners, and thanks to Java's backward compatibility, there is no significant change in fundamentals.  If you want to combine this book with a text-based interactive course for better learning then I recommend you check out The Complete Java Crash Course on Educative, one of the popular interactive learning platforms. 

best book to learn core Java from scratch

So, even if you learn Java by reading this book, you are still in good shape. You can later read a book like Java SE 8 for Really Impatient to learn Java 8.

4. Core Java SE 9 For Impatient

This is no doubt the best book to learn Java for beginners in 2021. I am a big fan of Cay S. Horstmann, who has that unique skill of explaining complex concepts in the easiest way possible.

This book covers Java SE 9 and is structured in a charming way to allow a beginner to learn a concept at his own pace.

There are many things I like about this book, like the way it explains concepts, the way it explains tools of concurrency before explaining low-level details like wait, notify, and synchronization, which beginners often struggle to understand.

If you want, you can also combine this book with Pluralsight's Java Fundamentals: The Java Language course, I have suggested this to many of my readers and they said they learned better.

3 Books to learn Java from Scratch in 2019 - Best of Lot Must Read

It's also the most popular book on Java in the market.

In short, if you want to learn Java from scratch in 2021, just buy Core Java SE 9 for Impatient. It's worth every single penny you spend.

That's all about the 3 best books to learn Java from scratch. There are many other titles available, but with my 10+ years of experience, I have found these three books, the best Java resource, especially in 2021. 

Now that Java 17 is on the way, you should also try at least to learn Java SE 8 because it will be the way Java code will be written in the coming decade. You can also explore new features of Java SE 9, like. modules and API enhancements, to keep yourself up-to-date.

Further Learning
Btw, if you are an intermediate Java developer and wants to become an expert Java programmer, you can always refer to my recommendation for advanced Java developers below:

Thanks for reading this article so far. If you like these books, then please share them with your friends and colleagues. If you have any questions or feedback, then please drop a note.

P.S. - If you prefer to learn from an online course and looking for some free resources to kickstart your journey, you can also check out this list of 10 free Java Courses for Beginners on Medium. It's an excellent resource for beginners looking to learn Java.


  1. As a beginner, I searched for such lists all over the internet and most seem to repeat the same books.
    I've personally tried reading Head First Java, Thinking in Java (Eckel) and Core Java Vol I-II (Horstmann) and I must admit that only Core Java by Horstmann has struck the right balance of theory and style so far.
    If it helps any other beginners on here, I came across a very good list of best books to learn Java. Hope it helps you too.


Feel free to comment, ask questions if you have any doubt.