Jim:
In normal times, I've often suggested getting any old IT job, attending night school, and moving within the company into computer programming. It's always been toughest getting that first programming job. After that, it's a great career.
However, these are not normal times. The off-shoring phenomenon is not wiping out all US programming jobs but it is sucking up the new hire opportunities. US employers now require both technical experience and experience in their industry. Why? Because the supply so exceeds the demand that they can.
Please check out the jobs discussion forum in depth.
If you're still interested, there is a lot of good material here on Java books. The best way to become a good programmer is to write lots of programs and read lots of really good code. Java is more than language rules and API's, it has a unique idiom on capitalization, indentation, etc., which you must follow for your code to be useful within a team. Here too, this site has some good examples.
One positive change from the bad old days is that your PC lets you run all the programs you want at no cost.
One final suggestion: your first programming job will probably be maintenance programming, such as minor changes and bug fixing. Read the posts here and try to find the bugs. Then see the responses and check your answer. You may even want to cut and paste the code onto your machine and see if you can
test, debug, and beautify the code. You'll be working on other people's code a lot and you can't learn that skill from a book.
Good luck.
Mike
[ April 20, 2004: Message edited by: Mike Gershman ]