I know this question is asked a lot, but I really want to know. I started to learn C++ but have had my doubts. This forum may be a bit biased but I don't know where else to post it. I don't plan on making games much in the future, but would like to make a couple just for fun. So should I stick with C++ or switch to Java?
Do both! They're both awesome languages with their own unique traits. If you are the type of person who learns by seeing the results of your code, Java would be good since you can easily create GUI apps with it.
C++, on the other hand, requires less setup to get started. You can pretty much just download Visual Studio, for example, code it and run it. With Java, you'd need the JDK installed, and its console apps can't run simply by double-clicking the app.
I would prefer to try C# and or Swift (depending on target platforms) rather than Java (unless your target is just android of course). Personally I dislike Java in general, and I also very much dislike Java's GUI frameworks.
I also suggest messing around with javascript to make some games that run on the web browser. It's nice because you can put what you make on your personal website to show friends or potential employers, who may not trust, or be bothered to go through the steps, to run you desktop application.
If you're going to make games, you should look into graphics libraries and/or open source game engines and choose Java or C++ (or whatever) based on what you need to use the libraries and engine.
It really depends on what kind of game you want to make as to what engine you pick, but there are a lot of impressive ones out there open for use. (ex. Unreal engine, which uses C++)