Java and C# run neck and neck for most things. There are some performance gains and losses with each language. If you can write in one, you can write in the other. The main difference is learning how to tweak the JVM for Java.
Java is nicer in that it was build to run multi-platform out of the box. C#, you are not necessarily married to Microsoft as you can use Mono on *nix, but honestly it doesn't run as nice and Mono is years behind on keeping up with the latest .NET developments.
Long story short, if you want easy software for the masses, use C# since .NET is part of Windows these days. If you are looking or data crunching power that you can run on a server, then Java is likely your best choice.