Start from the very basis stuff in Java. If you don't learn basis in deapth then it's really difficult to move ahead. It's MUST.

When we are talking about the learning materials, my first suggestion goes for the Suns' online tutorial. That's the best place to findout the correct explanation. And also you can use SAMS publications. I've use it several times from the begining, and I really like those stuff. Actually it's depends on your attitude as well.

When comes to the coding, it's better to use command prompt + notepad for the early stage coding. Later on better to move to an advanced IDE. The idea behind that is not memorizing the stuff, to familar with the basic process and besis code stuff like defining main methods, saving the file with the correct name and the correct extenstion, compiling, running and so on.