Wednesday, May 3, 2017

Top 4 Books to Learn Java for Beginners (Newbie)

I receive lots of emails and Facebook chats related to Java, but one of the most common questions which I have mostly asked is, which is the best book to learn Java? I have just started learning Java, Could you please recommend a good core Java book to me? After answering in one word too many of those readers and new Java developers as "Head First Java", I thought to write this blog post, Why? because some of them come back to me and asked me "Can you please recommend a serious Java book, not the comics?" Well, I didn't like that comment, but then I thought it's natural that not everyone will find "Head First Java" as good as I have always found.

Many programmers don't like jokes, diagrams, and light way to learn, which is what the Head First series provide. It's also natural that some people will connect to some authors better than others and many people find head first series wordier, much like Java.

So, I thought to spend some time and find out a couple of options for my newbie Java developers. Thankfully, there are some good Java books available in the market, which is up-to-date, comprehensive yet easy to understand and this article is a collection of those books.

3 Books to Learn Java from Scratch

Here are my recommended three Java books for a beginner who wants to learn Java in a couple of months. You can learn Java in a couple of months provided you read the book daily, practice code and discuss whatever you have learned to your buddy.

Head First Java
My first recommendation is still Head First Java because it is the best book to learn Java. If you can connect to head the first series then you will love it, you will read it on your commute, read it before sleeping and read it on your iPad, Yes it is that good.

It explains key concepts of Object oriented programming and Java is simple words with pictures, diagram, and dialog. There different kinds of exercises, puzzles and fill in the blanks also helps to revise the concept regularly and the best thing is their section of "No question is a dumb question", you will love it. 
Best Books to Learn Java for Beginners (Newbie)

The Head First Java provides knowledge in such a way that you will feel understanding Java in no time. The coding part is a little light, but if you follow code sample and use the book along with an IDE then you will learn more quickly.

Core Java by Cay Horstmann
I didn't know about Cay Horstmann until I read his book "Java SE 8 for Impatient" and I just loved his writing skill. He is really great in explaining things, so when I started my search about a beginner's Java book, my first search goes to Cay Horstmann books and look what, I found a gem in name of "Core Java" series of books. 

This is not like Head First Java, it's like a normal book with lots of information, code sample and explanation. Programmers who don't like Head First Java for his lightness will definitely appreciate Cay Horstmann's comprehensive coverage in simple words. There are two parts of Core Java series, Core Java Volume 1 which covers fundamentals and Core Java Volume 2 for the advanced feature. 

The only drawback of this book is that you need some programming experience, it's not for a complete newbie which doesn't know anything about programming. It's best suited for experienced programmers.

This is what author says about the book "The book is aimed at experienced programmers who want to learn how to write useful Java applications and applets. No hype, no toy code, no language layering, just solid facts and in-depth research to help you write real programs".

Must read core java books

Thinking in Java
This is my third recommendation to anyone who wants to learn Java. I have myself read this book when I started learning Java, so I can safely say that No other book is better than "Thinking In Java" for programmers who is starting to learn Java. Bruce Eckel's books are a pleasure to read and the examples are easy to follow. 

The most recent version of this book is "Thinking in Java 4th Edition" and covers most of the Java features, except what is introduced in Java 7 and 8. You will learn advanced feature like Enum, Generics, Annotation etc. Like previous two books, this also got lots of exercises to keep you busy and give you enough hands-on practice in Java.

best book to learn core Java for beginners

Java: A Beginner's Guide
The Java: A Beginner's Guide, 6th Edition is another great book for beginners. It is straightforward and - importantly - has been kept up-to-date i.e. it covers Java SE 8 as well. Kindle version is also available. Many courses in Java uses this book as their study guide too.

good books to learn core Java

Though there are many more Java books are there but to start with I will only recommend these four books. Try these four and pick the one which best suited you. Once you spend a couple of months in Java and can write Java program in IDE fluently, you can check out my list of advanced Java books to expand your knowledge in key areas of Java e.g. Generics and Collection, Concurrency, JUnit testing, Java Performance Optimization and Design patterns. There are so many things to learn in Java but better to start with one book and follow it properly.

How to Learn Java from Scratch

If you are new to programming as well as new to Java then here are my 5 tips to learn Java quickly:

1) Read book daily
Which book you choose from this list, make sure you read it daily until you learn the concepts. It may take a couple of weeks to a couple of months but you should make a habit to read the book daily. This will ensure that you not only read but also understand concepts.

2) Write code daily
Reading book is important but it is a passive action and that's why you must write code daily which is given in the book. Start with just typing the program given in the book, it will develop some code writing habit and code reading ability. Slowly, you will develop the code sense which tells you what the code is doing and how.

3) Do all exercises
You must do all the exercise given in the book. All beginners books have good amount of exercises to exercise your mind that it must recall the concept it has learned. This is also one of the main criteria for choosing a book for beginners. By doing exercises you will not only rinse and repeat concepts but also actively participate in reading, writing and thinking. This muscle exercise is very important to retain the concepts you have learned.

4) Keep referring book whenever you get stuck
When you do exercise, don't hesitate to look back when you are stuck. In fact looking back to refer the relevant concept is one of the objectives of exercises. Practices make perfect and repetition is a part of practice.

5) Talk to Someone
Find a buddy who is also learning Java, talk to him, discuss him, tell him about the new concept you have just learn. When we try to explain something to anyone, we learn it better. Also, the exchange of knowledge fill gaps and create a path for more in-depth learning.

And if you really love Java, prepare for Oracle Java Certification, there is no better way to learn Java in quick time then preparing for SCJP or OCPJP.

As I said before, it's easy to learn Java but it's very difficult to master Java programming language because it is vast, there are so many things to learn in terms of language, API, frameworks, and libraries. So, if you want not just to learn Java but to master, I suggest you look at following recommendations to make yourself strong on important areas e.g. concurrency, collections, spring, hibernate, unit testing, JVM internals and performance tuning.

Further Reading
Complete Java Masterclass
Java Fundamentals: The Java Language
Java In-Depth: Become a Complete Java Engineer!
Top 5 Books to Learn Data Structure and Algorithms in Java
Top 5 books to Learn Java 8
Top 5 Books to Learn Spring Framework
Top 5 Books to Learn Hibernate for Java developers
Top 5 Books to Learn JVM internals and Performance Tuning
Best Books and Mock Exams for OCAJP 8 - 1Z0-808 Certification
2 Best Books for OCPJP 8 - 1Z0-809 Certification

Thanks for reading this article. If you like my book recommendations then please share with your friends and colleagues. If you have any feedback, suggestion, or any good book you think a programmer should read to learn Java then please share with us via comment.

BTW, if you like to learn from tutorial then book, then just start with Oracle's official Java tutorial here (

P.S. - If you are looking for some free Java books and PDF which you can download for offline reading then you should check out this list of free Java books. It contains legal free copies of some of the Java books which their author and publisher make it free to read online or download as PDF for offline reading. 

No comments :

Post a Comment