I learned java by searching for various online tutorials and that worked for me. The nice thing about a book is that they keep that information in one place but once you learn the basics the book is going to become somewhat useless because no book is really going to cover every detail, so the best way to learn a programming language is to hear it explained different ways by different sources.
If you want to go with a book just about anything that covers methods, classes,"Hello World", should cover the basics that you need.
But I would recomend you keep searching for different tutorials online. My favorite to get started is on mybringback.com but it's sort of a brief overview and you would want to find some tutorials like this that go into more detail.
But you always want to keep in mind that the oracle website documents everything. So it helps when your learning something new to just type into google
oracle doc (and whatever it is your trying to use)
+1 for the Oracle doc, especially the tutorials.
The other problem with books is that they get out of date. Remember there is a HUGE update to the Java language being released ths month. ALl the relevant doc is on the Oracle site, but it won't be in your book.