There are so very many places to learn Java, I'm not sure I'd recommend spending very much money on any particular book.
Has your DS previously learned any programming classes? If this is the first one, it *might* be worth it. Typically learning your first programming language is the hardest, and the rest are much easier to pick up. Personally, I'd recommend starting with C/C++ as opposed to Java.
(Oh, and the O'Reilly books are pretty much always top notch for technical stuff -
http://shop.oreilly.com/category/browse-subjects/programming/java.do )