No one should really have a problem learning Java and more so if you have a basic idea about programming languages you should be able to create quite a lot of things since it has many more features than C and C++. Granted, you have more advantages with Java over C and C++ because any codes you write on Java are actually transferable, something that does not happen with the rest. That means then that java should be more useful to you the programmer.
C and C++ will always give you a challenge when migrating from one system to another due to changes in numerical precision, but not so with Java. It calculates the size of the general types of implementation and coverts it automatically to the equivalent range in the other system without any of your manual input.
Those who have used systems that utilize floating point arithmetic realize that they need to be extremely cautious because the programs that use this system could sometimes procure differing answers on every other different system and the value of the differences can go so high depending on the number of calculations. This seems to happen just the same in all floating point arithmetic systems especially C and C++ as opposed to Java code, which is transferable. When using Java the interpreter can copy what the machine should do, which is the object code of a theoretical machine. When you do this, any code done in a particular machine can easily be accessible on another machine that uses a Java interpreter, information which you can always get when you learn Java programming.
If you are just a green horn in Java programming lingo and you want to get at the bottom of it all, you can easily learn all by yourself by simply logging on to the internet and looking for Java tips and tutorials and you will discover you will dig up a goldmine of information without parting with a dime to buy a book anywhere.