Java Books For Beginners
Written by Kay Ewbank   
Monday, 17 July 2017
Article Index
Java Books For Beginners
Practical Java

Java is one of, if not the most, widespread programming language. Given its popularity, it's not surprising that our reviewers have scrutinized over 50 books relating to it, both new and classic. This is the pick of recommended titles.

I Programmer takes a real interest in books. We try to keep up with new releases with Book Watch and based on what we include there members of the team select titles that match their interests for full review. To be included in a Programmer's Bookshelf selection, a book needs to have impressed our reviewer enough to be awarded a rating.


As there are so many Java books which were highly rated, we've split them into two piles. This is our selection of Java books for Beginners - either complete beginners, or beginners to Java. We'll look at Java books for experienced Java programmers next time.



For this round-up the main points of each review have been extracted. To read the full version click on the title. Clicking on the book jacket thumbnails in the side panel will take you to Amazon. If you make a book purchase accessing Amazon via a link to it on IProgrammer we are credited with a few cents - so thanks to all of you who support us in this way.


Java in 24 Hours (7e)

Author: Rogers Cadenhead
Publisher: Sams, 2014
Pages: 448
ISBN: 978-0672337024

This edition of this long standing book covers Java 8 and Android, and reviewer Mike James doubts whether it's possible to learn such a complex language in 24 hours. However, the parts of Java that a beginner needs to learn remains reasonably standard. This book uses NetBeans as the IDE, and starts very gently with introductions to the IDE and Java, getting as far as a 'Hello World' example by Chapter 2. 

According to Mike, Hours 7 and 8 are the part of the book that really make you into a programmer, introducing the flow of control - if statements followed by loops. He says:

"The tendency is to cover just about everything that is related, so as well as if statements we have the switch and the conditional operator. For the beginner it would be better to postpone the more advanced and less used facilities to a later chapter that went over the whole flow of control idea. Flow of control is the hardest thing that complete beginners have to learn and dumping the entire topic in two hours might make it harder than it needs to be. However the presentation makes it seem simple and it you can get your head around it and make it to Hour 9 your brain will never be the same again."


Object oriented code is introduced from Hour 10 onwards, though Mike feels that while a chapter on "Creating your First Object" isn't a bad way of introducing objects, it does tend to go into irrelevant detail and over-generalizations.

By Hour 17, the central topics have been covered, and from this point on the book really deals with ad-hoc topics such as data structures beyond the array, error handling and threading.

The advice is that if you are a complete beginner, concentrate on the first part of each chapter and revisit the material when you have had practice and time for it to sink in.

The final verdict has to be that this is a quite a good attempt at an introduction to Java, it could be better and it isn't ideal for the complete beginner but if you are prepared to work at it then you probably can use it to learn to program in Java - but it will take a lot longer than 24 one-hour sessions.

Java In A Nutshell 6th Edition 

Authors: Benjamin J Evans and David Flanagan Publisher: O'Reilly, 2014
Pages: 418 ISBN: 978-1449370824

This isn't a book for complete Java beginners. Java in a Nutshell has become something of a classic, but the latest edition is very different. This edition covers Java 8 and to keep it as compact as possible only the core language details are discussed - the book still runs to 418 pages. If you were a fan of the earlier editions then you need to realize that much of the information you found there is no longer in the new edition. Our reviewer, Alex Armstrong, thinks that the tighter focus is a good thing and the core APIs are now well documented on the Oracle website to make a detailed printed version unnecessary.



The book starts off with a focused look at the language elements of Java. Part I is called Introducing Java and it would serve as a memory jog for anyone returning to Java or moving from another language. It is not suitable for a complete beginner. There are chapters looking at the history and position of Java in the current state of things, the basics of the language, and plenty of coverage of object-oriented programming.

Part II of the book is about using Java and best practice, with chapters on naming and documentation conventions; Java Collections - including using lambda expressions; and basic data formats - text, numbers, date and time. There are chapters on basic file I/O including networking, and on "meta" programming - class files and class loading, reflection, dynamic proxies and method handles. The book closes with a chapter on the Nashorn JavaScript engine, which Alex thought was debatable whether or not this should be in a book focused on getting the core of Java into a nutshell. It explains how to execute JavaScript code and how to call Java from JavaScript. 

The final chapter is about platform tools and profiles and isn't a bad place to finish.

There are plenty of short examples all the way through the book, but the key thing to appreciate is that this is a fast-paced book that presents ideas using technical language where necessary. It doesn't attempt to explain everything in the simplest possible terms. It also deals with topics from the point of view of Java 8, but there are occasional notes on backwards compatibility. 

Giving it an overall rating of 4.5, Alex's conclusion is that:

"if you are a Java expert or an expert on a specific area of Java then you will find that this book doesn't go far enough - it is by no means a Java and Java ecosystem encyclopedia. It is a very good compromise if you want something reasonably advanced squeezed into a nutshell. No doubt it will continue to grow with each new edition!"


Murach's Beginning Java With Netbeans

Author: Joel Murach & Michael Urban 
Publisher: Mike Murach & Associates, 2015
ISBN: 978-1890774844

A book that teaches you Java using a specific IDE is a good idea, according to our reviewer Alex Armstrong, who liked this title enough to award it a 4. There is an version of this book that uses Eclipse if you don't like NetBeans, but Alex is a fan of Netbeans, having abandoned Eclipse some time ago to use NetBeans very happily instead for Java, C/C++, JavaScript and PHP. NetBeans is a good IDE to learn so this makes a book that teaches Java while using NetBeans a good idea.  




If you know other Murach books you will already know that they tend to be aimed at the education market. They teach what you might want to call the "proper" way of doing things and so it is with this book on Java.  

The book starts from installing NetBeans and writing your first program, moving on to consider code, classes and methods, creating your own classes and methods and using object oriented approaches to programming. Alex says:

"Overall this is quite a good approach that does make use of NetBeans. So many books start off with telling you how to write Hello World with their particular choice of IDE and then tend to ignore it and just tell you about the language. In this case the way NetBeans can help you to work is also explained. In particular the chapter on debugging really does make use of the NetBeans debugger to step though and inspect variables."

However, in Alex's opinion the explanations are fairly dry and there are no gimmicks or tricks to soften the presentation.

Section 2 is more focused on the details of using Java and is probably more like the information that the beginner needs. It goes over primitive types, operators, flow of control, loops, if statement, strings and arrays. At the end of this section you have more or less covered the basics of writing Java code.Section 3 is a fairly traditional introduction to the ideas of using objects; inheritance, interfaces, polymorphism, virtual classes, inner classes and so on. It is mostly done via examples, but there is lots of discussion of why you are doing things. 

The next section is a collection of topics that didn't really fit anywhere else, like lambdas, exceptions, and file I/O. The final section, called "Real "World Skills", ventures beyond the core Java language topic to look at a number of tasks and shows you how they would be done in Java.

This is a big book that covers a lot of ground. It is very complete and if you can stick with it then it will take you from a beginner to a reasonable Java programmer. 


<ASIN: 0672337029>


<ASIN: 1449370829>

<ASIN: B00OL0853O>

<ASIN: 1890774847>

Last Updated ( Wednesday, 27 February 2019 )