Thinking in Java is a good free book. Head First Java isn't free, but more fun to read. That's just for learning basic Java though - read and practice. It's just as important to become VERY familiar with the FIRST/WPI libraries so you know what you can program.
This FAQ is questions beginners frequently ask along with links to more free resources:
http://www.coderanch.com/how-to/java/JavaBeginnersFaq
And some shameless advertising:
1) The Java and OOP assignments are good for practicing (they are free unless you want them reviewed)
http://www.javaranch.com/java-college.jsp
2) A cute game
http://www.javaranch.com/roundup.jsp
3) For all Java questions, the moderators of
http://www.coderanch.com/forums/f-33/java are really friendly, nice and helpful.