I never looked much at C#, so can't tell you much about how they relate (other than that C# started as a “better Java” in an attempt to grab a piece of the Java market), but obvious there are many websites that are willing to explain the differences and similarities I am sure. The general look and feel isn't that different, but the devil is in the details, as always.
As for your game development question, I'd say just use Java. Basically, you can write everything in all languages, so there isn't much you cannot do due to choice of the programming language. As you master a language and move into making more challenging games, you will find that the programming language is the simplest part of the game development problem ?
There is one caveat in picking a programming language for making games though, and that is use of a game engine. A game engine typically has a small set of supported programming language, eg Unity can be programmed in C#, Unreal can be programmed in C++, and so on. So if you want to make games with a game engine, you either pick a language and then find a game engine that supports that language, or you pick a game engine and then choose one of the languages that it supports.
If you want to make games in Plain Java (ie no game engine) you obviously don't have that problem, but writing games without game engine is (often much) more work as a game engine aims to provide many things you typically need in a game.