First off, if you are familiar with OOP, and C++ syntax and how it works, it should be quite seamless from Java to C++.
If you are not familar with C++, I would recommend learning some bare bones C++ (especially OOP, pointers, structs, enums, etc.). Understanding base C++, OOP, and Data structures, it helps in the long run with making the projects bigger and more organized.
Also it comes to understanding the Unreal API as well. Thank heavens for Blueprints, it’s quite easy to give a few tutorials a try to get the hang of how the API works when jumping in for the first time. If you go from Blueprints to C++, the accessors and mutators names will look very familiar. Also understanding the actual structure of the API will make sense(example: the big tree of inheritance from UObject… UObject->Actor->etc etc).
It’s not much, but I hope this helps