This article will give you at least one good reason...

commented: :-) +10

Java is cross-platform complient it runs on any system known to man. There's another reason.

I write quite a bit of Java, and learned about it from the inventor, James Gosling, back in 1995 I believe, at a Boston IEEE Conference. I even got an "official" Java coffee mug from him! Personally, it is a PITA! The standard garbage collector sucks, and the lack of multiple inheritance makes complex class development an impossibility. Using interfaces intead of multiple inheritance requires that each declared function be implemented separately in each using class. This is just so stupid (my opinion)! In any case, it becomes a point of error generation.

So, in my not-so-humble opinion, learn the basics of object-oriented design (UML), C++, and then Java. After the first two, Java will be trivial! After all, in my opinion, Java and PHP are just C++ with training wheels! Of course, all the support libraries and tools are another issue, but the basic language is not very difficult once you have learned C++ to any reasonable degree.

One of reason behind learning java is,if you want to learn Android which is the life of smart phones you must know java+ unix.

Not to be biased or anything, but one of the main reasons why everyone should learn java is because it is a pretty fun language to learn...