In my opinion (again, remember the opinion saying), Java is not the way to start out.. or finish for that matter. Java is dying a slow death and is becoming increasingly irrelevant. The multi-platform idea is nice, but it is so difficult to create a Java application that rivals what you can do when you use a native platform to a particular OS.
It depends what field you are in. In finance Java seems to be the language to use.
I started out in C and am glad I did. So many languages are based off it that if you have a relatively simple understanding of it then you can find it much easier to pick up other languages as you go. Using an IDE, while faster also slows down your learning. Start out using the command line tools you'll learn more that way.
Oh and 'The Unix Programming Environment' although over 20 years old is still relevant for Mac OS X programming and a damn good book at that .
Edit : Python is a very nice language to learn as well. Very clean and concise. OO as well which helps.