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

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 2019 to learn Java? or Which is the best Java for beginners? When I receive such email, before giving my recommendation I ask two questions, first do you have any programming experience? e.g. 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 system on college. If the guy some prior experience I recommend him the book like Core Java for the Impatient which teaches basics of Java programming language and API and also how to use Java in right way.

But if he doesn't have any programming experience, I usually ask him to first read the Head First Programming before suggesting them to 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 2019, where Java 11 has gained a lot of pace and push for Java 12 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 the little bit of programming.

All the books I recommend covers Java 8, except Head First Java, which has not updated for a long time but still good enough to teach you basics of Java given its unique style of teaching.

Btw, if you prefer online courses then The Complete Java MasterClass on Udemy is also a good place to start with.

Top 3 Books to Learn Java Programming from start in 2019

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

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

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

1. Core Java SE 9 For Impatient
This is no doubt the best book to learn Java for beginners in 2019. 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 structured in a very nice way to allow a beginner to learn a concept in his own pace.

There are many things I like about this book e.g. 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.

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

It's also the most up-to-date book on Java in the market.

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

2. Core Java Volume 1 and 2
This is another great book from Cay S. Horstmann and 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 C++ concept with Java e.g. 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++ programmer.

Even if you don't know C++ you can benefit from this book.

best core java book 2019

There is also the second part of this Core Java Volume 2 - Advanced Features, which covers the more advanced topic in Java e.g. 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 cover Java SE 9 and hopefully Java 10 and 11.

3. Head First Java
This book is the best beginners Java book of last decade. It 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 I still recommend Head First Java to beginners? Well, because of its unique style and presentation.

best book to learn core Java from scratch

The Head fist style works best for beginners and thanks to Java's backward compatibility there is no major change in fundamentals.

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.

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 2019.

You should also try and learn Java SE 8 because it will be the way Java code will be written in a coming decade. You can also explore new features of Java SE 9 e.g. modules and API enhancements to keep yourself up-to-date.

Further Learning
Complete Java Masterclass
Java Fundamentals: The Java Language
Java In-Depth: Become a Complete Java Engineer!

Btw, if you are intermediate Java developer and wants to become an expert Java programmer, you can always refer my recommendation for advanced Java developers below:
  1. 5 Books to Learn Java 8 and Functional Programming
  2. 5 Books to Learn Spring Framework and Spring Boot
  3. 5 Hibernate and JPA Books for Java Developers
  4. 20 Books Java Developers Should Read in 2019
  5. 5 Books to Learn Advanced Multithreading and Concurrency in Java
  6. 5 Book to learn Java Performance Tuning
  7. 5 Books to Learn Unit testing in Java with JUnit and Mockito
  8. 5 OOP Design Pattern Books for Java Developers
  9. 5 Soft Skill Books Programmers Should Read
  10. 5 Data Structure and Algorithm Books for Programmers
Thanks for reading this article so far. If you like these books then please share 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 rather then books then The Complete Java MasterClass on Udemy is also a good place to start with.


  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.