Maybe a bit of both are worth learning as each is better suited to doing different stuff and they can be used together in the same app e.g C# front-end, Java back-end.
Java has the advantage that it can be run largely independent of platform e.g Windows/Linux/Solaris etc. I believe, though stand to be corrected, that Java is more flexible in the type of server components (beans) it can create e.g session, entity etc. Only an issue if you're going to write some pretty heavyweight server code but interesting nonetheless.
There again C# has big advantages when it comes to writing Windows applications (ease, speed of writing, closeness to Windows etc). There is also the possibility of running C# on Linux using Mono though I'm not sure what the state of this is now.
IDE wise I use NetBeans which is good though nothing really touches the MS .Net development tools for ease of use etc.
It really depends what you have in mind to write. Just my opinions....