All of the C derived languages look the same, C++, Java, C#, Unreal Script ETC. Java is a good starting place as it has built in memory managment, C++ leaves that ALL up to you. ( ok Auto Ptr's being the exception ).
C++ has a LOT more quirks, and no compiler really gives meaningfull error messages, where as java compilers ususally spit out what youve done wrong. Syntatical errors are usually something for very junior programmers, so while that doesnt necessarily effect someone who knows the battlefield, it would be a good idea for you to take the easier language to start with.
The downside of java is that it compiles into Byte code, this is then interpreted by a Java Virtual machine on the fly. This means that java can run on any platform, but also dings you for a ~30% overhead hit; that being the reason serious games are not made in java.
For actually making games, C++ is an industry standard ( mate of mine worked on Dead rising 2, which is a C++ Base with three different independent bits for each platform ). Of course there is also unreal for all UE based games.
If you want a very minimal and simplistic IDE for JAVA look up BlueJ, it comes with a handy built in visual debugger, and not a whole heck of a lot more.
edit: Oh buggery me, completely forgot about XNA, I havent ever touched that but it might be something to look into..