C is a procedural language and native. Very popular still even though it's a simple language syntactically (though difficult to work with because you have to be careful managing your pointers).
C++ is an object-oriented language and native. It was designed as a compatible extension to C. OOP and utility libraries make it easier to work with than C.
Java is object-oriented as well, but runs in a virtual machine that interprets Java binaries to run on an operating system. Since it requires a VM to run, Java is only available on machines where the VM has been ported.
Note that each language is closely related, but different enough that you don't need to know any of the others to work with any one of them. Being a great C programmer won't make you a great C++ programmer because each language has it's on idiosyncrasies.