When you decided to start to learn Java Programming you can start by downloading the Java Development Kit (JDK) from Java Download website. There are three different types of JDK, the Java SE (Java Standard Edition), Java EE (Java Enterprise Edition), Java ME (Java Mobile Edition).
From the website you can also download the Java API documentations which will sure be your first companion when learning the language. It is better also to download the Java Tutorial Series that was written by the Java experts.
In the tutorial you can learn from the basic of Java programming, introduction of the fundamental of Object Oriented Programming (OOP) which is Java all about. Next you can also find trails in each subject of the API (Application Programming Interface) provided by Java library, such as the core package, how to communicate with database, Java GUI programming, image manipulation, RMI, Java Beans Framework, etc.
When you want to write a code you might wonder what editor or IDE you will need to use to start learning. A good text editor that support a coloring will be a good candidate, colorful screen is better that just black and white isn’t it?
If you’re ready for the big stuff, a bigger homework project, you might considering to use an IDE (Integrated Development Environment) as you’ll be working with lots of Java classes, configuration files and build script for examples. There are many great IDE on the Java world from the free to the commercial product.
What IDE to use is really a developer decision, use whatever tools that can help you to improve your learning and programming activities. You can find IDE such as NetBeans, Eclipse, JCreator, IntelliJ IDEA, JDeveloper, etc.
Beside learning from the Java tutorials there are also many forum on the internet where you can discuss your doubts or your problems. Forums like JavaRanch, Stack Overflow are great forums with Java gurus that can help you to clarify your doubts and help you to solve your problem. But remember one thing when you ask for help, be polite, elaborate your problem clearly.
A good Java books on your desktop is also a good resource to study Java, from a good books you can learn the bolts and nuts of the Java programming languages. When you have all your arsenal you can get the best out of you in learning Java. Have fun!