C is Junk unless you're going to work on Hardware.
C++ is useful in very specific instances...you would probably need to be working for Oracle, Microsoft, Sun, SAP to justify it. The language syntax (pointers, memory mgmt) is very complex as compared to Java.
C# and Java are the industry leaders in most cases. Unless you need a lightning fast application, they work great. Need lightning fast then go to the C++ route.
My first Java book was "Big Java" by Cay Horstmann. Served me well. You can fetch a cheap past edition on half.com
Also look on google for java courses at major universities...they usually post all their slides/notes and most importantly --> PROJECTS!
It's very hard to learn java from a book. You need practical experience which is hard to find....but colleges/universities require all their java students to do projects and they will post the specs for these on their websites. Let me know if you need help finding.
here's a start: http://agile.csc.ncsu.edu/iTrust/wiki/doku.php