The thing with programming textbooks is no one can ever agree on what book is "best". Some people like books that are basically just giant lists of functions and their syntaxes, some people like books with a lot of examples, some people like books that primarily explain the most basic functions in plain English. Some folks don't like to use books at all and learn programming purely from studying others' source code.
A lot of the Java-specific books written in the past decade are written without requiring pre-existing knowledge of C++, which would be good if you have never programmed in any language before. I think the "Headfirst Java" volume is supposed to be well-regarded, but I can't say that from personal experience.
Of course, you could always just find your local community college/adult school/vocational center and sign up for Java classes. Some community colleges might place Java far down in the CS track and make you take prerequisite courses. Depending on how the course is set up, what text it uses, and how much ground it intends to cover, it may or may not have prerequisites.