JavaRush /Java Blog /Random EN /Top 10 Java Books for Beginners
Max Stern
Level 35
Нижний Новгород

Top 10 Java Books for Beginners

Published in the Random EN group
We are accustomed to quick access to information and its equally rapid absorption. We prefer five-minute videos to deep lectures and short articles to books. I will not say that a good book on programming will replace any article, it is not. And certainly it will not replace practice. However, for me personally, a real understanding of the basics of programming came after I, having solved hundreds of problems on the JavaGush programming course and read a ton of articles, began to study theory from books in parallel and went deep into them. I've been looking for my personal "best Java tutorial for beginners" for quite some time. Below are a few Java books that have been useful to me to a greater or lesser extent at different stages of my studies.
  1. Head FirstJava
  2. Java. Beginner's Guide
  3. Java for dummies
  4. Java. Complete Guide
  5. Java. Professional Library
  6. Java. Programming Methods
  7. Java. Developer's guide
  8. Java SE 9 Basic Course
  9. Effective Java
  10. Java Philosophy
Top 10 Java Books for Beginners - 1

"For the little ones"

You can start reading the next three books at the start of your studies, in parallel with the video, or, if you are studying on CodeGym, along with the first levels. They, especially the first one, are suitable for people with zero programming background.

"Head First Java, Learning Java" by Cathy Sierra, Bert Bates

I started with this book, not because I like it the most, but because it is the simplest. This book, according to so many programmers, is the best Java tutorial from scratch. Moreover, it is truly and completely “from scratch”, that is, it is suitable for those who are just starting out and do not quite understand what kind of animal programming is. She came to me too late. I think that's why I couldn't appreciate it. “Just reading” it was very pleasant, but I had to look for something specific in it for a long time. The material there is presented vividly, but rather superficially (because from scratch!) And there are simply no many topics and necessary explanations. But my friend, to whom she inherited, was delighted with her and shouted that this is not just the best Java tutorial for beginners, Top 10 Java Books for Beginners - 2 Advantages:
  • The best Java tutorial from scratch, for complete dummies, written in a living language;
  • Cool illustrations and humor;
  • Explanations with real life examples.
Flaws:
  • Too much "water" for those who have already entered the topic;
  • Not always successful puzzles and exercises.

"Java. Beginner's Guide", Herbert Schildt

After flipping through this tutorial, I thought it would be good for those who like a more traditional presentation of the material than in Headfirst, and at the same time they are looking for a tutorial from scratch. In some places, the presentation in the book is very detailed, reminiscent of extended and translated documentation with good illustrative examples. Sometimes, as for me, the author crosses the line, and starts chewing too much, it becomes boring to read ... and suddenly - a somersault - and some rather difficult place slips almost instantly, and you are completely bewildered trying to understand what and where you missed. However, there aren't too many places like this in the book, and I know people who think the Beginner's Guide is the best Java tutorial for those who don't know anything yet. Personally, it seemed to me not very smooth. Let's say I start sorting through the collections, and instead of a human explanation, they slip me the task of creating a Set based on arrays on my own. Cool task, but I would like to get a better understanding of what standard collections are first! Although this book, like the previous one, is considered a primer for beginners, my experience as a teacher suggests that it is only good in conjunction with other materials: the humanitarian switcher will not find everything simple and understandable. Best of all, the "Beginner's Guide" is suitable for someone who, at the very least, taught programming (for example, at the university), scored on it a long time ago, and at the same time he likes the author's presentation style. It is especially pleasing that the tutorial is constantly updated, and it also considers the features of Java 8, and the current edition for 2020 (seventh) takes into account JDK 9 and JDK 10. Although this book, like the previous one, is considered a primer for beginners, my experience as a teacher suggests that it is only good in conjunction with other materials: the humanitarian switcher will not find everything simple and understandable. Best of all, the "Beginner's Guide" is suitable for someone who, at the very least, taught programming (for example, at the university), scored on it a long time ago, and at the same time he likes the author's presentation style. It is especially pleasing that the tutorial is constantly updated, and it also considers the features of Java 8, and the current edition for 2020 (seventh) takes into account JDK 9 and JDK 10. Although this book, like the previous one, is considered a primer for beginners, my experience as a teacher suggests that it is only good in conjunction with other materials: the humanitarian switcher will not find everything simple and understandable. Best of all, the "Beginner's Guide" is suitable for someone who, at the very least, taught programming (for example, at the university), scored on it a long time ago, and at the same time he likes the author's presentation style. It is especially pleasing that the tutorial is constantly updated, and it also considers the features of Java 8, and the current edition for 2020 (seventh) takes into account JDK 9 and JDK 10. suitable for someone who, at the very least, taught programming (for example, at the university), scored on it a long time ago, and at the same time he likes the author's presentation style. It is especially pleasing that the tutorial is constantly updated, and it also considers the features of Java 8, and the current edition for 2020 (seventh) takes into account JDK 9 and JDK 10. suitable for someone who, at the very least, taught programming (for example, at the university), scored on it a long time ago, and at the same time he likes the author's presentation style. It is especially pleasing that the tutorial is constantly updated, and it also considers the features of Java 8, and the current edition for 2020 (seventh) takes into account JDK 9 and JDK 10. Top 10 Java Books for Beginners - 3 Advantages:
  • Traditional thoughtful presentation of the basics;
  • Good examples.
Flaws:
  • There are "jumps" from "too chewed" to "left out";
  • It's boring in places.
By the way, Herbert Schildt has another well-known book on programming - “Java. The Complete Guide." This is a completely different textbook, more fundamental. Let's go to him.

"Java for Dummies" by Barry Bird

This book, to be honest, came to me already when I was working as a programmer. In an earlier version of the article about useful books in the comments, I was asked a question about it, and when I saw it at the work of a junior tester, I decided to take a closer look at it. Java for Dummies by Barry Bird is an interesting book for beginners who are willing to use several resources for their learning. This is not a primer, but rather the first Java reference. It is most effective to study it in parallel with step-by-step lessons (as in CodeGym) and (required!) To consolidate what you have learned in practice right away. From the presentation, I immediately recognized the author as a colleague-teacher, since in some places he makes stops in unexpected places at first glance and considers the issues raised in great detail. This is no accident: it was on these questions that his students most often stumbled. But some topics are covered superficially ... However, this is a book for beginners, you should not expect depth from it. Let's say the first two chapters are good for beginners, OOP (chapter 3) is better to learn from another book, but chapters 4 (advanced programming techniques - explanations of how to use classes and methods, the beginning of collections, multithreading, exception handling) and 5 (tips for error avoidance) I find very successful and useful. The book feels like the author is a teacher, so there are moments in the book. Several issues are discussed in detail here. Perhaps you feel that the author is a teacher, so he sets out those problems that caused the most significant difficulties for his beginning students. But here are some topics that are covered rather superficially, at the level of informative articles. Nevertheless, Java for Dummies is a book for beginners. Therefore, this may be your first iteration of getting to know the language. Moreover, Java For Dummies is easy to read, full of bright and funny examples. It can be easily read anywhere on the road or at bedtime. If you, of course, are satisfied with the author's style. And remember: no book in this world can turn you into a software developer. Only practice can. Top 10 Java Books for Beginners - 4 Advantages:
  • Easy language;
  • Good advice and a good introduction to a number of topics (chapters 1,2, 4);
  • Good examples.
Flaws:
  • Not all topics are equally well presented;
  • You may or may not like the author's style.

Handbooks and manuals

The books in this section will be useful to those who have already got involved in Java programming to the fullest and are looking for books to better understand theory and practice.

"Java. The Complete Guide", Herbert Schildt

I decided to download this book from the Internet in order to evaluate it, and then - to buy or not to buy. No joke, 1300 pages of text! Well, the price is impressive no less than the volume. I did the same with Kay Horstmann's two-volume Professional's Library (more on that below). Looking ahead, I will say that I opted for the second one. Why? Because in the book "Java. The Complete Guide, I saw the same shortcomings as in the Beginner's Guide. Sometimes it is chewed, sometimes it is crumpled, but at the same time it is not just crumpled, but somehow verbosely crumpled. This is probably the author's style, and I think someone will like it, or rather, in terms of thinking. All in all, Java 8: The Complete Guide is a good reference for Java. But personally, I liked the presentation of the same topics better in another book. Top 10 Java Books for Beginners - 5 Advantages:
  • Complete guide. It seems to have all the topics that a beginner needs to know, and not just a beginner.
  • Detailed explanations.
Flaws:
  • Lots of water (but some might like it!);
  • Russian translation is not the best.

"Java. Professional's Library", Kay S. Horstmann, Gary Cornell

The books of Schildt and Horstmann are often compared to each other. Both have loyal fans. For me, Horstmann's two-volume book is the best Java textbook. It also became a reference book for me at the initial and intermediate levels of CodeGym. When I did not understand some topic, I mostly climbed into Horstmann, and he clarified a lot. The book covers everything from syntax to multi-threaded programming, application localization, and working with XML. And don't let the name "Professional's Library" scare you (that's what scared me off), the basics are sorted out pretty well here. In addition, it is useful to re-read it periodically to refresh and streamline knowledge. They say that even professionals find something useful in it… I don't know. Become a professional - tell me! Top 10 Java Books for Beginners - 6 Advantages:
  • With an impressive number of pages, there is little water (unlike Schildt).
  • Contains everything a beginner needs.
  • Expands Java 8, takes into account changes in JDK 9, 10 and 11.
  • Good presentation of topics on collections and generics.
  • Pairs very well with CodeGym. Get to the topic, solve problems, at some point you don’t understand something - watch Horstmann, try again.
Flaws:
  • Some may think that the book is a bit dry;
  • No practice;
  • Russian translation with mistakes.

"Java. Programming methods", Blinov, Romanchik

Once I read on the forum that there is such a book "Industrial Programming", and it has good problems. It turned out they didn't lie. The book was written as a solid university textbook, that is, in places the presentation is somewhat ponderous, academic. BUT! There is really a very good collection of tasks on programming in Java, as well as test tasks. It is said that EPAM interns learn from this book, and it has also been adopted by many offline Java courses. Top 10 Java Books for Beginners - 7 There, the approach to tasks is a little different from that of CodeGym, that is, on average, the tasks here are a little more complicated and each of them is something like ... not a mini, but a micro-project. So I recommend it even to students of CodeGym, since I consider the disadvantage of the practical side of the course to be that all the tasks in it are already fully designed and there are too many tips. Let's say the OOP problems from this collection helped me to understand this very OOP very well, along with the books of the "enduring classics", which I write about below. The book is written as if for the future "rowers", so it describes the Hibernate technologies for developing distributed systems, as well as the basics of HTML, XML, JavaScript. "Industrial Programming" - if not the best Java tutorial, then a very good tutorial. But you need to come to it already prepared. Let's say after a dozen or two levels of CodeGym. Later, I discovered its newer and revised edition, already under the name "Java. Programming Methods ". Top 10 Java Books for Beginners - 8 Advantages:
  • Excellent selection of tasks and test tasks;
  • There is an official free version (I believe that it is official, since it is not on any root tracker, but on the EPAM website);
  • Comparison with C++.
  • An opportunity to understand what is going on in the EPAM internship.
Flaws:
  • Too fundamental. But for repetition with practice - it will do.
  • Does not take into account Java 8 and later JDKs. However, in this book, the main thing is the successful selection of tasks.

Advanced Guides

"Java Developer's Handbook", Benjamin J. Evans, David Flanagan

A good universal reference book, an alternative to Horstmann's books. Contains information useful for both beginners and advanced Java developers. The latest edition (seventh) at the time of writing this phrase is based on Java 11, that is, it has everything a novice developer needs to know. The book is not long, there are many examples, Java API and development best practices are considered. The book is easy to read and from it you can learn the basics of the language, and useful programming techniques, and new trends in Java. Top 10 Java Books for Beginners - 9 Advantages:
  • Short and good presentation;
  • There is everything you need;
  • Good description of modern tools;
  • Successful examples.
Flaws:
  • Not always a successful translation of terminology (there are terms that “ordinary” Russian-speaking developers will not understand right off the bat).

"Java SE 9. Basic course", Kay Horstmann

This book is originally called Core Java SE 9 for the Impatient, or Java Core SE 9 for the Impatient. I don’t know why this was not played out in translation, as for me, the book would not be lost among its own kind. So, in the previous paragraph, we had detailed reference books for novice programmers, here is an introduction to those who are already well versed in programming. The book is organized as a quick reference and is very handy for finding the answer to a specific question if you have forgotten something or have programmed in other languages ​​before. What I especially liked is that the texts are very short, to the point, without chewing and water. The book is well described lambda expressions, input-output streams, modules. However, it should be understood that this book is not for complete beginners, and there are no explanations of what a variable or a loop is. But there is in addition, I have already mentioned, fundamental structures, collections, annotations, generics, logging, multithreading - all that you will work with in practice. Frankly, I really like this book, and even now sometimes I look into it. Just remember that this book is not suitable for those who know absolutely nothing about programming. It is rather for those who have already studied some other language or the same Java, but for a long time and not completely. Top 10 Java Books for Beginners - 10 Advantages:
  • The brevity of information blocks. Everything is on point;
  • There are no extra topics;
  • A very good selection of relevant topics for learning by novice Java programmers;
  • Successful examples.
Flaws:
  • The book is not suitable for those who begin to learn programming from scratch and have never encountered it before.

Timeless classic

The books that I write about below can be called sacred texts for beginners and continuing Javiists.

"Effective Java", Joshua Bloch

This is just a treasure, not a book, and it is dedicated to the basic principles of the language from one of its authors, Joshua Bloch. Most likely, you have already used its libraries (in Java Collection, for example). I’ll make a reservation right away: complete beginners, except for some geeks-speedlerners, do not need the book Effective Java. First, it’s better to learn the syntax, and get at least some programming practice, so to speak, “to fill the bumps”, and then take on the creation of Joshua Bloch. The book will be useful for those who want to truly understand Java, form the right approach when programming in this language, understand not only how to do it, but what else needs to be done that way. And also for those who want to deeply understand OOP (in principle, these are interconnected things). This book is the best Java textbook for object-oriented programming. Top 10 Java Books for Beginners - 11Advantages
  • Brilliant presentation of material on the subject of OOP.
  • The best programming practices are given.
  • The author knows Java very well from the inside.
Flaws
  • For beginners, it may seem difficult.

Java Philosophy, Bruce Eckel

The title of this book speaks for itself. This is another "alpha and omega" for everyone who wants to know Java! In this book, you will find good and clear examples, and from them you will understand how Java works. It's hard for me to say which of the two books - "Java Philosophy" or "Effective Programming" - is better. I would say that Eckel is somewhat more loyal to beginners, while Bloch requires some kind of experience. I first read a chapter from Java Philosophy when I first started learning CodeGym (I think it was in the recommended levels at one of the early levels). Then she didn't come to me. But after level 10 or 12 - it was a song! And, I will say, a very useful song. I returned to it later, when I came to Effective Programming. Let me put it this way: let Bloch and Eckel talk about the same thing, but in different ways, and give different examples. Top 10 Java Books for Beginners - 12Advantages
  • Deep exposition of Java principles from a professional;
  • It will be good for those who are switching from other languages ​​- there are many comparisons with C ++, for example.
  • It seems to me that you can start reading it from level 10, but Eckel - a little later.
Flaws
  • Very unsuccessful Russian translations;
  • The lack of a new edition of the book in Russian.
Top 10 Java Books for Beginners - 13

Brief conclusions

  1. The best Java tutorial from scratch for those who don't know anything at all - Head First Java;
  2. The best Java textbook and handbook is the Pro's Library. And, of course, the Oracle documentation.
  3. The best collection of Java programming problems is CodeGym. Well, among the books - “Java. Programming Methods.
  4. The best enduring classics are Java Philosophy and Effective Java. This is a must read for everyone who decides to understand everything for real, for a deep understanding. But it is better to read them gradually and with an arrangement.
  5. Additional conclusion: there is a possibility - read in English. Russian translations are mostly very weak.
Comments
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION