Java is a good point to start for desktop apps, from there, it will depend upon the application in question which language you should use.
The most important thing is to get a good handle on the programming concepts. They are carried through most languages in one way or another. Once you do that, it's just a matter of learning the syntax for each language, and getting a grip on the individual languages oddities. Most programmers don't consider themselves a programmer of a specific language, though they may focus on one or two. We all have our cheat sheets and idiot books for looking up what we need on-the-fly, and this gives us freedom from being stuck to a single languages. For example, android develpment requires both java and c, though most of my work is concentrated on the java side, while the kernel devs work with c.