At the time that I write this, it is my opinion that Java is the single most important language that a professional programmer can learn.
That said, I also believe that all professional programmers must be fluent in C++ and C#. Together with Java, these are the langauges that define the computing univers today.
I mentioned on another post that currently C# and Java are in a bit of competition for which language is leading language development. This competition is good because it gives us better, stronger, more flexible languages with which to work.
It is an exciting time to be a programmer.
For my latest books on Java, including Introducing JavaFX 8 Programming, see HerbSchildt.com