In this day and age, I'd personally avoid Java - it's old & tired and not moving forward in the leaps that C# is.
C# is simply amazing, although old programmers like me do have a bit of a time learning OO concepts if they haven't used them before. C# is the most complete language I have ever seen in terms of having all the supporting tools pretty much built in (debugger, IDE, source control, multilingual, UI controls etc).
Completely disagree. To say that Java is old & tired is criminal, it's by far the most used programming language in the financial industry. For C# you're pretty much tied to Visual Studio and whilst this does have full integration of debugger, IDE, SCM etc it's expensive and difficult to customize. Java has all the same tools with similar levels of integration mostly available for free and with many active communities continuously working to improve them. Have you tried the latest community (free) edition of IntelliJ IDE? With all the free plugins available it beats VS hands down for ease of use and richness of features.
I'm not saying C# is bad or wont be the language of choice for the future but right now you can't beat Java for 90% of cases