Access to a computer and the internet.
Reasonable logical intelligence.
Willingness to work.
actually: having a head with a working brain in it is sufficient.
a lot of courses start of with a part theoretic knowledge:
and when they come to actual programming, they start of with:
"take a piece of paper and a pen and write down the code for" (of course this is for very small applications, just to get the feel of it, allthough you shouldn't be too surprised if you went to college and had to (for an exam) write the code for a music player using pen and paper)
to start of on your computer: notepad, the command prompt and the JDK (free to download from the Oracle website) are sufficiënt to start. if you have got the hang of the basics (writing, compiling, packaging, debugging, jar, ... ) you can easily switch over to a light-weight IDE, like JCreator.
if later on you start on bigger applications, you can always jump to more advanced IDE's, but I would not recommend on doing so the first x months.
as for additional information: a good textbook would (of course) benefit you, but there 'll always be free documentation online, being the official Java tutorials.
There are tons of other tutorials online, but most I've encountered are by self-proclaimed expert developers that don't understand the material they're blogging about, don't provide any information of what (or why) they are doing certain things, and teach stuff that is complete nonsense. so, especially if you're just starting, and aren't (yet) able to see for yourself which tutorial is bogus, stick to a good book, and the official tutorials.
@JamesCherrill most of us living in 21th. century, then little bit modified (actual research about interest to learnt something new)
I dont think there is any prerequsities for learning JAVA, except you dont like JAVA.
Let me guess, quontra123, would it involve attending one of your training courses by any chance? Sigh...