They are both excellent languages. You didn't mention your background, so it's difficult to give targetted advice. If you haven't programmed before, I would highly recommend starting with Java first, because Java is a more forgiving and easier language to learn than C/C++. C++ is a loaded machine gun with no instruction manual attached.
C++:
+ One of the fastest languages, so C++ programs tend to run pretty fast.
+ Ubiquitous; almost every platform has a C++ compiler and so can run C++ code.
+ IMO, almost every serious programmer should know at least something about C/C++.
- Very difficult to learn
- Requires you to explicitly manage memory allocation
- The specs allow for "undefined behavior", which can sometimes only be understood by knowing how all the low-level stuff works, and errors can sometimes be mysterious and hard to debug.
- Not fully platform independent. For instance, a pointer can be 32 or 64 bits depending on the platform.
Java:
+ Easier than C++ to learn.
+ Operates on a higher level, with an automatic garbage collector so you don't need to explicitly manage memory.
+ Tends to be easier to debug. Errors like overstepping the bounds of an error result in well-defined behaviors.
+ Platform independent, for the most part anyway.
- Requires that the computer have Java installed.
- Could be a bit slower than C/C++.
- Is higher level, so you probably won't be able to do systems programming in Java.
In my opinion though, once you learn one programming language, learning a second one is a lot easier. Programming is much more about the computer science concepts, and not at all about which programming language you use.