There is a hidden catch to learning java before C++. If you learn Java, you will go along quicker, but:
A) Your code won't be too fast, so don't be planning to write very computationally heavy programs.
B) You need to pay very close attention to references, and their relationship to pointers.
If you start with C++:
A) Sharp learning curve, but most scientific programs are written in C/C++, and you will have very speed programs indeed.
B) It is easy to develop bad programming habits, and become ignorant to the correct way of doing things. For example, developing your own list class rather than using the STL's implementation.
Benefits of Java:
A) Automated Garbage collection
B) Huge API to work with
D) Not any complicated pointer stuff
Benefits of C/C++
A) Very fast code(depending on how you write it of course
B) More support for science/math related projects.
C) Used in many computationally expensive fields.
D) Once you go through it properly, you will have a very deep and thorough understanding of how a computer works. You will also gain the ability to cut through other folk's BS on how stuff(programming related) works.