Java has been the first language I learned, and it will probably be the only language I will use to make PC games. I tried learning C / C++ for when I need to do more hardware specific programs, and let me just say this: I HATE IT. But rather than give such an absolute answer as that, let me go through my reasons why:
1) It is so much quicker and easier to get a working program running. Have you seen the code required to get just a blank window to show in C++, let alone do anything useful with it???? It's insane! In java I can write three lines of code to do the same things as like...50 in C++! Also, for my 8 bit game console, I'm writing an emulator for it in Java, but the video core that will run on the actual hardware I have to do in C. It's taken me about an hour to get the emulated VC working in the emulator, but days to figure out how to get the dev tools to work, and more days just initialize the STM32 correctly in C.
2)I don't have to worry about memory management, Java takes care of it for me! Now it probably isn't the best out there, or most likely that's just me doing something horribly wrong that's making a memory leak. But having to manually manage my memory usage in C is just....no.
3)I have yet to encounter a point to where Java itself was bottlenecking my game. Well actually that's not true, I found one instance. But that's beside the point! 99% of the time, my games slow down because I'm putting too much load on my GPU. My CPU barely has to do anything.
4)I don't like how C needs two files to make a class or whatever it's called. And the import system is way too confusing. What do you mean I have to have a .h file for every .c file? Why can't it just be in one file like in Java!
5)They keep changing very basic functions!!!! If someone suggests one thing, I try it and it doesn't compile so I look for something else, but then that doesn't compile and then I learn that the compiler set I use doesn't support that function so I need to get an entirely new compiler set, so that's when I just give up and create a very lengthy and non optimized algorithm that could've been done in one line of code!
6)I like the whole object oriented approach.
Now Java has it's quirks, but I've learned to get over them. There is no "superior master race language that beats all others" with the exception of assembly, you can't get any more performance out of that, but even ASM has it's drawbacks coughwaytoomuchtokeepafter*cough* but mainly it's preference. Now there are some situations where you don't have much of a choice, since you can't run Java on an STM32 or Z80, and some languages have their place better than others, I just choose to stick with Java because that's what I'm good at.