If writing games is your goal, you should start writing games as soon as you learn how to run a compiler. You can definitely learn a lot by writing games, just realize that the first couple (and by couple I mean hundreds) of games you write will be pretty crappy by most standards. Don't get too attached to any one game, and don't be afraid to start again from scratch with everything you've learned. You should try and get used to the idea of throwing away code you've worked on for hours and rewriting it completely. It happens a lot, even to the best programmers, when you realize there's a better way to do something. Learning how to rewrite a chunk of code effectively without disrupting the rest of your program is an important skill that every programmer needs to master (but many never do.)
As your skills increase you'll start to encounter problems that you have difficulty solving on your own, that's a great time to ask questions to other programmers about it. Taking computer courses in parallel with developing games has helped me a lot personally, you learn a new concept in class and immediately start thinking about ways to apply it to your game.
Java is good for game development, although it would definitely benefit you to at least read about other languages. Learning concepts in other languages will make you a stronger programmer, although that's something I wouldn't be too concerned about for a while.