Teach Yourself Java 6 in 21 Days is clear and well-structured. It does a good job of the teaching part, but I can't imagine finishing this in 21 days without devoting 8 hours every day to the task. After finishing the book I went back through and worked on the supplemental assignments, which helped clarify some concepts I hadn't absorbed. I recommend it as a strong intro to Java, particularly for people with some prior programming experience.