There are lists like Daniel posted of the most in-demand languages, and there are lots of specifics depending on the computing platform you're looking at. Developing for an iPhone requires Objective C or Swift, while some microchips still use straight Assembly. It's good to try out lots of different areas and see what interests you, and from that what languages are generally used there.
The thing about focusing on fundamentals is important, too. Once you know several languages, picking up a new one is usually just a matter of understanding the few things that make it different, and may only take a couple of hours.
However, a good thing to do while you're still in school is to look for languages which use radically different approaches. Java and C++ are good, but are similar in a lot of ways. I recommend seeking out a functional language, like Scheme, Haskell, or Erlang. You are not likely to use them much in the real world (unless you happen to work for one of the few companies that chose to use them a lot), but they will expand your thinking and both improve your code in all languages, and make it easier to approach new languages and pick them up.