Stanford has materials for a good Intro to Java course online: see http://j.mp/cSpFgw
I think it's a great course for learning the basics. Its exercises and assignments are gratifying, it holds your hand through early environment setup, and it gets you writing actual, satisfying code in short order.