I recommend Java
and I have faced the question many times before.
If you learn java, not only will some aspects be accomplished quicker/better now.
Going from Java to C# later if you need to, is very easy ( in my opinion ) Though id recommend sticking with Java until the end!
It may have a smaller pool for now, but its always growing and has a lot going for it.
Reasons to use C#? optimize/convert code for iPhone or XBox. Luckily for all computers and Android you can use Java!
I barely ever learned much C++ and its quite different and I still help a lot of my computer science/c++ graduate level college student friends out, because at the end of the day. You may not know all the little syntax and minor ins and outs. But the core logic is going to be close to the same the majority of the time. Either in Objects or some linear singleton.