I've talked with several Java programmers that have the incorrect assumption that since they can do Java they can do C++. This is not true at all since the languages differ greatly from one another. If you learn object oriented concepts that are not language specific then you will have a better understanding of how each language implements said concepts.
But asking which language you should learn on a C++ forum is a bit odd. Because we are going to say: C++.
But as has been said languages are tools so use the right one for the job and you cannot go wrong. Java just happens to be a tool that isn't in my toolbox. Perhaps someday when Java makes me money it will be but until then it means nothing to me. C++ and C# are my two languages of choice with C++ being my preference.
So where does that leave you? Right where you should be. The answer is which one do you need to learn first or which one do you want to learn first? We cannot make the decision for you.
No matter how much you know about C++ and its applications there is always something you do not know. 'Mastering' when it comes to C++ is a very strong word indeed.> Secondly,I want to master atleast one language..