Here is a good site that will help you go in the right direction. If you ever need any help or guidance, this forum is full of knowledgeable people in any language you choose and they are more than willing to help anyone in need.
I taught myself C# using RB Whitaker's book C# Player's guide. Then over the summer I started taking the programming classes taught at my local college where they teach Java. Going from C# to Java was a breeze. Most of the syntax is the same. The only real differences is the naming standards. Like a method in java starts with lower case where a method in C# starts with uppercase. Learning XNA will also be quite easy. Me personally, I am going to continue to use XNA to develop for Windows and the XBox 360. Then switch over to Mono once they have their own content pipeline, which is just an open source version of XNA.