Hi Jeff,
Welcome to JavaRanch!
I think learning programming on your own is a great idea, although it can be pretty hard in the beginning.
In fact, I would go so far to say that if you find you can't learn programming on your own (however difficult it is in the beginning), then maybe
you should re-consider choosing programming as a profession. The reason being that schools/universities teach you only so much, after that and when you are on the job, you have to do most of your learning on your own.
This is not to say that if you can't learn on your own, you will not get good enough to get a job, but without aptitude for self learning, at most you can hope to be an average programmer.
Ok, on to your specific questions
-
I agree with Campbell that there is no best book.
I am a self taught programmer, and my first Java book was Java: The Complete Reference, but I wouldn't recommend it as a first book. As the name says, it is more of a reference than a tutorial.
Thinking In Java is good, but I think it makes a good 2nd Java book to read, not as a first book when you are just trying to get your head around the syntax. I read the 2nd edition of it though, it may have changed since then.
If you can go to a library/bookstore flip through some of the books to see what you like. Also check out Amazon reviews, and JavaRanch bunkhouse reviews. I haven't read it, but many people like Head First books.
Also, you may want to consider the
JavaRanch Cattle Drive, and the recommended text -
Just Java And may I offer some friendly advice on how to ask questions on JavaRanch -
http://faq.javaranch.com/java/UseAMeaningfulSubjectLine