Teaching yourself Java is not difficult, and can make you a highly sought after computer programmer. Java is a versatile and widely used programming language. A skilled Java programmer should have lots of employment opportunities available to him or her, and it is possible to learn the basics and more on your own time, without needing to sign up for expensive computer programming classes. This article gives some tips on teaching yourself Java.
Locate the Java tutorial on the Sun website (http://download.oracle.com/javase/tutorial/). This is the official tutorial for Java, and the authoritative source for all things Java-related. Follow the introductory instructions in the tutorial for downloading and setting up the Java software development kit (JDK) on your computer (it's a free download).
Buy an introductory textbook on Java that will help you get your feet wet. While the online Java tutorial is very good, it is also exhaustive, and can seem a bit intimidating to the beginner. One good introductory Java programming book is "Teach yourself Java in 21 days". I think the current version is called "Teach yourself Java 6 in 21 days". While 21 days might be a tall order, it sets out the tutorials in a step-by-step fashion and allows you to learn the basics and more in a systematic and non-intimidating fashion over a few weeks.
Run all the examples in the book, and also do all the assignments as you go along! This is very important. It's easy to skim the textbook and think you understand it all, but until you've tried to write your own programs and faced your own challenges, you haven't really picked up programming skills.
Use the online Java tutorial to explore the basics covered in your textbook in more depth, and also to learn about advanced topics not covered in the textbook. Also get familiar with the APIs (you'll know what this means once you've learned a bit about Java).
Once you've acquired some basic Java programming skills, try to do an internship or a volunteer project with a software company or other organization. This is how will transition from a learner to an experienced professional. You can also find contract Java programming jobs online for which you can freelance from home. While initially you will not be eligible to take on big jobs, you can start by working on little projects and working your way up.