The switch between the language syntaxes will be trivial. It doesn't get much more different than foreach(string str in collection) compared to for(String str : collection). Most everything in the language itself will be a breeze to learn if you already know C#. The libraries themselves can be different in quite a few ways, however, and in my experience Java's standard library has not been as easy to work with as .net's. Some things are very similar, both libraries are built of classes extending from a class called Object which contains basic methods like toString/ToString, for example. Some things are not as similar, however; Good luck trying to get Java to do much with XML out of the box, unless you're writing your own XML parser or simply serializing beans.