I thought, you are asking this question because, you already know C language, and want to learn Java
C language knowledge will help you for some extent in learning java,
i.e. Java uses almost(not 100%) the same control structures with almost(not 100%) same syntax.
Careful; I have known people who get confused because they already know C and don't understand when something which appears similar behaves differently in the two languages. For example protected (in C++ actually) means something different from protected in Java.
Both a re good languages. C has been the workhorse for quite some time and is still being used in many places. Java is one of the best languages available now. If you check Tiobe index Java is the first language of choice for quite some year followed by C.
C is basically procedural oriented but I belive you can write object oriented C with some outside help. Java is fully objected oriented. C now a days is mainly sed for embedded system where as Java is used in every walk of life.
Java is phenomenon. If you are planning to learn Java, you'll never regret the decision. But however if you are completely new to programming learning C first can help you a lot. Once you are good at least one language you will be able to check for yourselves the difference b/w other languages.
My understanding is that with c (c++) more control over system resources is placed in the hands of the programmer, where as java takes care of a lot of that for you. As a result, java can be less work to develop a similar application. At the same time the fact that some management of system resources is taken out of the hands of the programmer means a certain loss of flexibility, which in some circumstances can be meaningful. For example, in the programming of top of the line chess programs, where speed and performance is everything, c++ is preferred over java by far.