Monday, March 9, 2020

How to Learn Java Programming from Scratch? Recommended Books, Courses, and Tips

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 came 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 useful 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 the  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 excellent 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.


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 of reading the book daily. This will ensure that you not only read but also understand concepts.

2) Write code daily

Reading a book is essential, 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 provided 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 exercises given in the book. All beginner's books have the right amount of practice 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 essential to retain the ideas 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 to the relevant concept is one of the objectives of exercises. Practices make perfect, and repetition is a part of the 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 fills 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.




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


1. 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 critical concepts of Object-oriented programming, and Java is simple words with pictures, diagrams, 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.

For the best result, you should combine this book with a new and up-to-date course like The Complete Java Masterclass by Tim Buchalaka on Udemy. This means you will not only have best start but also upgrade your knowledge at the same time. 

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.



2. Core Java by Cay Horstmann

I didn't know about Cay Horstmann until I read his book "Java S.E. 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's books and looks at what, I found a gem in the name of "Core Java" series of books.

This is not like Head First Java, it's like a regular 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 who doesn't know anything about programming. It's best suited for experienced programmers.

This is what the 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".

If you want, you can also combine this book with The Java Programming for Complete Beginners course by Ranka Karnam, a fellow Java blogger and Udemy best selling instructor. He will tell you how you can use JShell to speed up your learning in Java.

Must read core java books



3. Thinking in Java

This is my third recommendation to anyone who wants to learn Java. I had 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 are 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 features like Enum, Generics, Annotation, etc. Like the previous two books, this also got lots of exercises to keep you busy and give you enough hands-on practice in Java.

If you want, you can also combine this book with the Java Fundamentals Part 1 and 2 courses on Pluralsight, which is also an excellent companion for beginners.

best book to learn core Java for beginners



4. Java: A Beginner's Guide

The Java: A Beginner's Guide, 8th Edition, is another excellent book for beginners. It is straightforward and - importantly - has been kept up-to-date, I mean it covers Java S.E. 11 as well. The Kindle version is also available.

Many online courses in Java uses this book as their study guide too, for example, you can also join Java In-Depth: Become a Complete Java Engineer! to learn along with this book.

best books to learn core Java for beginners


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 a Java program in IDE fluently, you can check out my list of advanced Java books to expand your knowledge in other key areas.

For example, as a Java developer, you need to master  Java Collections, 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.

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 like concurrency, collections, spring, hibernate, unit testing, JVM internals, and performance tuning.

Further Reading
Top 10 Courses to learn Java for Beginners
Top 5 Books to Learn Data Structure and Algorithms in Java
Top 5 Courses to learn Data Structure and Algorithms
Top 5 Books to Learn Java 8
Top 5 Courses to learn Java 8 and Functional Programming
Top 5 Books to Learn Spring Framework
Top 5 Courses to learn Spring Framework in Depth
Top 5 Books to Learn Hibernate for Java developers
Top 5 Courses to learn JPA and Hibernate
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 it 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 (http://docs.oracle.com/javase/tutorial/)

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 and free Java courses. It contains legal free copies of some of the Java books and courses which their author and publisher make it free to read online or download as PDF for offline reading. 

No comments :

Post a Comment