I have 0 previous coding experience and I am in the middle of "Java: A Beginner’s Guide by Herbert Schildt".
-Challenging. Very quick jump from "hello world" to nested loops and things of this nature;
-writing style is relatively easy to understand for the most part;
-you can download code sheets used in the book;
-self-test at the end of each chapter;
-it actually doesn't seem to be aimed at begginers at coding because often times, the author makes references to other programming languages. I assume the book is meant for begginers in Java in particular, not for beginners in CS/coding;
- it moves fast so, at least for me, it was necessary to practice a lot with every new concept learned. I have been constantly inventing exercises for myself. Also, recently I've been struggling with some concepts and had to ask for help on this very forum. I am not sure if this book is that good for self-learners
- apparently it doesn't cover some important topics like LinkedLists but I can't really make a judgement on it with my current skills.
I have not read the other suggestions that have been recommended.
I have had some exposure to Java while learning Selenium but I only knew what I barely needed.
I'm reading murach's beginning Java with Eclipse. I like the format. The Even Number pages on the left side page speaks in detail. The right side (Odd numbered pages) show examples. What works for me is reading the first paragraph of the left side page to know what will be discussed. I then look at the examples on the right side. Then I read the rest of the details on the left side.
On the Murach.com site you can find a list of errors in the book. You may want to go through the book and make the dozen or so changes before reading the book.
At the end of each chapter there are some examples to try. There was one example where I needed to count the number of words in a string. Arrays and split were not taught yet. The logic was not assisting me in learning the points of the lesson. I found that the answers are included in the download file. Sometimes if you are struggling with the exercise it might be worth taking a peek at the answer to see that you are on track to the solution.
I did not understand Interfaces after reading the chapter. But I don't understand it even after reading other books so it is probably me.
I can only read one chapter a day and work on one or two exercises a day. I don't absorb much more after that amount of information.