For C# you may look at MS XNA, and the Mono-project - cross platform .NET environment. I think there is a port MonoXNA, as well.
For java you may look on jMonkey game engine which will do many annoying things for you.
Rated you back up because I can't figure out why you were down voted for at least giving suggestions that did relate to the topic.
If you want to learn C# then go ahead. Sounds like you have a good Java knowledge so it shouldn't take you long at all to switch. 1: Because C# is similar to Java and 2: Because in general programming concepts transfer from language to language. Just takes time to learn how you do something in that specified language.
Like was stated, with C# their are many viable options. You could easily use XNA. Honestly I'd ignore any post that really says "XNA IS DEAD!111!" Yes it hasn't been updated but it still very much alive and usable. You can still use it just fine. Theirs nothing stopping it being used and it running. Indie Game Store on the 360 is still there also so yes you can still use XNA to get something on the 360.
Their is also MonoGame. It is an Open Source implementation of the XNA Framework.
http://monogame.codeplex.com/
Also for a game engine that is popular, you can use Unity. While it is mainly 3D you can do 2D with it. Basically you would just not use one axis.
http://unity3d.com/
No matter what you chose though, even a language you know, you will need to just take your time and create some test games to get used to working with graphics, sound, collision detection, and more.