As far as languages go, knowing the basic syntax in Java, C/C++ or C# will let you jump easily between them. I personally prefer Java, but that might just be because I work in Java. C# is really easy to pick up when you know Java, and the reverse is probably equally true. C++ is a bit different though, and the first while you program in C or C++ you will screw up royally and leave dangling pointers hogging your memory. Trust me on that

Which language is best would depend on what you want to do with it to be honest.

For server side applications it's Java, hands down. It's a rich language, lots of good Open Source frameworks and several open source server choices. You can easily build an enterprise level solution using nothing but OS frameworks and applications. Java also excels at cross platform as the JVM exists for most operating systems, so the same code will run on pretty much any platform without a recompile.

If you want a client / server application I'd have to go with C#. Has great support for creating a GUI, especially a windows GUI, and it does have several free frameworks available. The catch is that it's windows only, and of course requires .NET frameworks.

For games C++ is the best language performance wise, although it's not that much better anymore. Java used to be utter crap performance wise, but since Java 1.2/1.3 it's really improved and I saw a benchmark for Java 6 where it actually outperforms native C code in a few scenarios. Of course it also helps C++'s case that it generally has an excellent library support for both DirectX and OpenGL.

In conclusion; I support the claim that Java is a good starting point, but it depends what you want to accomplish really. If it's just to learn your way around programming stick to Java, or if you feel like a heretic, C#. If you have the specific goal of making games consider Java or C#, both have graphics libraries available and for your first programming projects the bottleneck won't be in the language