Today I am sharing the best java books to learn java programming. Java is one of the most widely used programming languages. You will find java based applications everywhere, from embedded systems to web applications. Android programming is built on top of java, that is used in billions of smartphones, tablets etc.
So if you want to build your career as a Java professional, having good core java knowledge is a must. If you are good at Core Java, learning all other java based frameworks is not that hard. That’s why, even after working in IT industry for 10 years and using several Java, Java EE frameworks; I value Core Java most.
Best Java Books
There are a lot of online tutorials that you can follow, but nothing can replace a good book. Here I am sharing 5 Core Java Books that you should read, I am sure that you must have read at least one of these books.
- Head First Java: Head First Java was the first java related book that I read, almost 9 years ago. This is a great book and you should read it. The best part of Head First Java is the simplicity of the book and how easily it relates java programming concepts to real life.
This book needs to be updated with all the recent changes, but still it’s a must-have book for everybody to understand OOPS concepts, and unlike other programming books it’s very interesting.
You can buy the “Head First Java” book from below stores.
- Java: A Beginner’s Guide (Sixth Edition): As the name suggests, it’s a good book for someone with basic knowledge of programming wanting to learn java programming language. It’s written by “Herbert Schildt” and covers all the basic concepts of Core Java.
Some of the things I like about this book is the Hands-on exercises and end of chapter quiz to evaluate your learning. The latest edition of this book covers Java 8 too, that I think is very important as there are many core changes introduced in Java 8.
You can buy “Java: A Beginner’s Guide” from below stores.
- Java: The Complete Reference (Ninth Edition): This book contains everything you need to become master of Java programming language. You can keep this book as a reference. Although I think it’s not a good book for complete beginners because it’s more than 1200 pages long. But if you want to learn beyond the basics, then this is the book I would recommend.
The latest edition of this book is released in March 2014 to include Java 8 changes. If you are planning to buy it, make sure you get the latest edition.
You can get “Java: The Complete Reference” from below stores.
- Core Java Volume I — Fundamentals (9th Edition): This is again a reference book that contains the detailed explanation of different features of Core Java. I like it better than the Complete Reference because of several reasons – it’s not from Oracle, it’s simple to read and under 1000 pages.
The only thing missing from this book is that it doesn’t cover Java 8, otherwise it’s one of the best java reference books.
You can get “Core Java Volume I — Fundamentals (9th Edition)” from below stores.
- Effective Java 2nd Edition: This is not the beginner’s book but I think this is a must-have book for every Java programmer. The book contains 78 best practices that you should follow when writing Java programs. I think it should be read in parallel with other Java books so that you follow these best practices right from the start.
The 78 best practices are divided into 11 different sections such as Generics, Methods, Concurrency etc. So it’s easy to read in parallel with any other Java book. If you haven’t read this, I would strongly recommend to buy it and read it.
You can get “Effective Java 2nd Edition” from below stores.
There are a lot of other good books too, but I have read all the above books and that’s why I am recommending them. If you have read any other good java book, please let me know through comments. I would love to read them and add to the list.
“Beginning Java 9 Fundamentals, 2nd Edition (2017)” by Kishori Sharan very easy to follow. The writer has also advanced book “Java Language Features (2018)”
An excellent selection of books.
My favorite books are:
1. Beginning Programming with Java For Dummies
2. Head First Java by Kathy Sierra & Bert Bates
3. Java For Complete Beginners by Mohammed Abdelmoniem
I’ve personally enjoyed Core Java Vol I-II (by Horstmann) the most. I like the style of the book, it’s both practical and easy to follow.
Out of three or four Java beginner books, I’ve personally enjoyed Core Java Vol I-II (by Horstmann) the most. However, I’d still like to try more whilst I’m learning the basics.
Hi Pankaj,
what is the difference between Core Java and Java
I am not from Java back ground but I heard that Java is a client server architect.
Hi I have little knowlege about programming and i want start learn java with details. What you seggest me guys?
I am really confuse where to start. I simply knowledge of C++ and want to start java with fundamental and i can choose what book good for me,
I mean I can’t choose. can help me guys?
how about we read it for you
what ever book you read it is same thing
I am trying to learn Java and reading Head First java but finding it very difficult. After 4th chapter I am struggling. Can somebody suggest me more basic book? I have no experience in programming
Don’t bother reading Head First Java. I stopped reading it as well. It’s the most disorganized and poorly layout Java book I’ve ever read. Head First Java covers mostly the basic concepts and explanations, instead of teaching you to experiment with Java programming. You can’t exactly learn Java without doing any actual coding.
I’m currently reading “Sam’s Teach Yourself Java in 24 hours” by no means you will master Java 24 hours, It’s just the book’s marketing gimmick, but it’s a good starting book as it also forces you to find information beyond the book to do some of the programming exercises.
was “Sam’s tech “java helpful aftr C++
i need to download this text book
You can find this book more useful as a beginner
corejava the practical guide for beginners
by pravuram nayak
available in amazon.in or flipkart
I am absolute beginner in java will it be helpful for me to start from the scratch?
yes
Head First Java only covers up to Java 5.0, we’re now at Java 9 (Java 8 when this article was published). I picked up a copy because my college textbook sucks, and was immediately disappointed when I realized how outdated it is.
I’m sure much of the book is still relevant, however it instructs people to use Swing for GUIs. It’s my understanding that is not the way to go anymore, and JavaFX should be used instead. I think you should either take it off your list, or warn readers of it’s pitfalls due to outdated-ness. I’m still going to read it/work through it, and I”m sure it’ll help me get the concepts even if the code is a bit old-fashioned.
I agree with you that it has to be updated for latest java version changes. But it’s a good one to learn core java easily and then grasp on latest features. Except some new things and changes in Interfaces, all other concepts are still valid and important to learn.
Thanks for sharing about Java Programming Books. These are very informative.
Java The Complete Reference was what I used during college days.
A good tuition class by a reputed instructor in my area also helped!
My lecturer was also good and did a deep dive of Java during a 3 month curriculum.
Hello sir,
I have basic knowledge of C , C++ and a little java, and i want to learn java myself through practice problems oafter each concept explained.
What should i refer?
Thanks.
if you are beginner then i think this will be helpful for you
book – corejava – the practical guide for beginners.
by pravuram nayak
available in
amazon.in or flipkart
hello,
my name is gaurav and i am working as a database developer. i want to go in java development. kindly recommend me some good books so that i can start from the scratch.
thank you
Thank for awesome list, I bought Head First Java, it promoted my java skill.
which one do you prefer the most amoung them
I’m a second year engineering student. I would say that i know C and C++ well (OOP, structures, basics of linked lists) and I want to learn java on my own. I read reviews for all these books and now am very confused. Please suggest which one of these books i should buy.
hello Sir/Mam,
1–>can U please tell me the difference between core java and advanced java.
2–> Is “java the complete reference” is sufficient for learning both core java & advanced java. I mean does it covers both super topics.
Hi,
I am having work experience in java. however, i have not learnt through any book in proper manner. i have learnt only through real time. i would like to learn all the concepts of java. can you suggest me some books?
Great tutorial, I really love Effective Java books
i dnt have any type of programming knowledge please tell me where to start.Which book is best
If you learn core java everything will be simpler
Another recommendation for complete beginners would be “Extremely Simple Java”, which is an eBook for quick start.
i fully agree, head first java is one of the best.
Once your in the java world you should have a look at books like:
– Clean Code
– Refactoring by Fowler
Those books had an great impact on my programming skills.
There is another List on java books https://java-books.com, which contains Clean Code and Refactoring.
well head first use java 5.0 and it is olf langouge will you still recomand it
I like this book : (Key Java: Advanced Tips and Techniques)
above mentioned books might be good but believe me i didnt knew what programming is or what computer is and i only read 1 book which made a lot of difference is “Java How To Program International Version” by Deitel Paul and Harvey Paul. no comparison but this book is simply the best. if you want to be a programmer and really do coding go buy this book.
Thank you for reading.
thank u sir for the info….i read the first two books which u suggested in this blog and i found them really good and I’m currently reading head first: design patterns….I would like to ask u one things are all head first publication books are as good as “head first java” …
Hello, I m a java beginner, I m starting with head first java, then i thought of going to java the complete reference ninth edition directly, but you mentioned sixth and ninth separately, aren’t they same ?
I would suggest you to first go for “Java-a beginners guide” then put your hands on Head first java as it requires some basic programming knowledge about java
i think scjp or ocjp book comes under the top 5 position in this list…
i got glad
Core Java Black Book by T. Nageshwara Rao sorry if I wrongly written the name of the writer but the book is very good for beginners and also who wants a better understanding yes in some topics you will think that this much only like in collections anyone can refer internet.
Head first is the best..
Though I haven’t read any of the above books fully except ‘Head First Java’, I believe “Thinking in Java” is worth having a place in top 5.
“Thinking in Java” is a good book, but it has not been updated in last 8 years. Last edition was released in 2006, and there are many changes in Java since then. That’s why I have not included it in the list.
And Head First Java 2nd edition has been released back in 2005. Don’t you find your justification of not including one of the best industry books a bit absurd?
As I have mentioned, it’s the first Java book I read almost 9 years back. I fell in love with the book and Java programming, I believe it’s a good one for starters.
Hi Pankay,
which book do you suggest after reading head first java? because I have almost finished reading it.
Thank you.
Go for Effective Java, this is a classic book. You will love it.