Here are the major differences between C And JAVA.
1. JAVA is Object-Oriented while C is procedural. Different Paradigms, that is.
Most differences between the features of the two languages arise due to the use of different programming paradigms. C breaks down to functions while JAVA breaks down to Objects. C is more procedure-oriented while JAVA is data-oriented.
2. Java is an Interpreted language while C is a compiled language.
We all know what a compiler does. It takes your code & translates it into something the machine can understand-that is to say-0’s & 1’s-the machine-level code. That’s exactly what happens with our C code-it gets ‘compiled’. While with JAVA, the code is first transformed to what is called the bytecode. This bytecode is then executed by the JVM(Java Virtual Machine). For the same reason, JAVA code is more portable.
3. C is a low-level language while JAVA is a high-level language.
C is a low-level language(difficult interpretation for the user, closer significance to the machine-level code) while JAVA is a high-level language (abstracted from the machine-level details, closer significance to the program itself).
4. C uses the top-down {sharp & smooth} approach while JAVA uses the bottom-up {on the rocks} approach.
In C, formulating the program begins by defining the whole and then splitting them into smaller elements. JAVA(and C++ and other OOP languages) follows the bottom-up approach where the smaller elements combine together to form the whole.
5. Pointer go backstage in JAVA while C requires explicit handling of pointers.
When it comes to JAVA, we don’t need the *’s & &’s to deal with pointers & their addressing. More formally, there is no pointer syntax required in JAVA. It does what it needs to do. While in JAVA, we do create references for objects.
6. The Behind-the-scenes Memory Management with JAVA & The User-Based Memory Management in C.
Remember ‘malloc’ & ‘free’? Those are the library calls used in C to allocate & free chunks of memory for specific data(specified using the keyword ‘sizeof’). Hence in C, the memory is managed by the user while JAVA uses a garbage collector that deletes the objects that no longer have any references to them.
7. JAVA supports Method Overloading while C does not support overloading at all.
JAVA supports function or method overloading-that is we can have two or more functions with the same name(with certain varying parameters like return types to allow the machine to differentiate between them). That it to say, we can overload methods with the same name having different method signatures. JAVA(unlike C++), does not support Operator Overloading while C does not allow overloading at all.
8. Unlike C, JAVA does not support Preprocessors, & does not really them.
The preprocessor directives like #include & #define, etc are considered one of the most essential elements of C programming. However, there are no preprocessors in JAVA. JAVA uses other alternatives for the preprocessors. For instance, public static final is used instead of the #define preprocessor. Java maps class names to a directory and file structure instead of the #include used to include files in C.
9. The standard Input & Output Functions.
Although this difference might not hold any conceptual(intuitive) significance, it’s maybe just the tradition. C uses the printf & scanf functions as its standard input & output while JAVA uses the System.out.print & System.in.read functions.
10. Exception Handling in JAVA And the errors & crashes in C.
When an error occurs in a Java program it results in an exception being thrown. It can then be handled using various exception handling techniques. While in C, if there’s an error, there IS an error.
SEE ALSO [C Tutorial 1] Introduction to Programming
Interface in JAVA
82 Comments
Pingback: Monday again….. UNITY CODE??? | Another Adventure in the Industry
Pingback: Monday again….. | Another Adventure in the Industry
Pingback: Java (programming language): What is the difference between C and Java? - Quora
its very useful but we need more than this
Thanks for reading! Read more @ http://www.durofy.com/category/computing/
its very nice. thank u for explanation.
Thank you for reading Sindhuja :)
thanks for giving this information.
Thanks for reading Ravee :)
thanks of giving this information.
thnx a lot all info given by you helps me a lot in my intrvw.
Always welcome Janki! Do read more @ http://www.durofy.com/category/computing/
best explanation but plz give some examples and it is very easy to understand also
thanx a lot… nice explenation but give some example programs..
Hi Shruti, You can find a number of sample programs and other programming tutorials @http://www.durofy.com/category/computing/
It’s very easy to undestand , I need some more explanation
very useful information
Thank u so much….
useful points for brush up
very useful
nice explanation but also give some example programs .Thank you
It’s gives a nice explanation to me, it helps a lot.
we need some more,but it is nice…….
it is esaily understand and it is very useful 2 me,thanks
Content is too useful for me…
It helps in interview.
Thanks
easy to understand…..good work
the content in this page is si useful 4 me
the content in this page is so much helpful 4 me………..
this content is so much better for understanding the diff between c & java……..
nyc ly explained
thank u v much frnd.i help me a lot at imp time
Really this diff. can help for my sem…..Thanks a lot…….
thanq so much
10q its vry useful 2 me
VERY USE FULL FOR MY CLASS TEST……….THANK YO……
thank u,………………….
thank u so much it is very useful to all job seekers
hi…….
very useful & easily grashping its all steps of c Vs java difference
i m a big fan of u seriously amazing awesome
thank u very much
thank u…………………….
nicccceeeeeeeeeeeeeeeeeeeeeeee
Really it’s more than helping. I loved it. thank u
very nice…. but i want more differences between c and java and also b/w java and .net..
so please send me to my mail address as soon as possible…
very use full matter
this comparison is very good…….. thank you so much……… Excellent
very useful..and explained in detail
This comparison will be very much useful to crack the interview…Thank U…..
this comparison is very helpful…thankq
gr8….thanq
its very helpful………thanq
Usefull
Thanks.. its vry helpful to me..
ITS NICE HELPING ALOT THANK U
nice…. excelllent…. very useful……
very nice
it’s very useful for me thank’s.
@puneeth
thank u so much. really nice
thank u…..its v.v useful for us..
the explanation was very gud. I will surely helpfull to us…
A hub of very useful information for beginners as well as the experts
thank you so much it clear and very use full
Thank u its very helpfull and informative…and important from the point of view of Interviews…Thanks a lot
@rahuram;syamala;abinaya – I’m glad I could help.. :)
@Rahul – Thank you for the reply. Nice points. I will review it and add an update on the post.
thank you
THANKS A LOT.IT IS VERY HELPFUL.
thanq so much it is very useful to us
fadu……
can include
threads
more gui based
All the primitive types in Java have well-defined sizes. In C, the size of short, int, and long types is platform-dependent, which hampers portability
Java doesn’t support a goto statement.
C requires local variable declarations to be made at the beginning of a method or block, while Java allows them anywhere in a method or block.
The Java compiler is smarter than the C compiler, in that it allows methods to be invoked before they are defined.
Java doesn’t support C struct and union types.
rahul.me.408@gmail.com
Thank u….It is really helpful……..
It definitely will.. :)
Thank u so much. It’ll help a lot during campusing.
I suspected that.. ;)
by far the best explanation ever..
i think a answer that the difference between C,C++ and java is only ABSTRACTION. bcz there is no abstraction in C but in C++ there is abstraction but in java there is more abstraction. is this answer is correct?
Pingback: Durofy » 10 Major Differences Between C And C++
i want to know more about c++ and java
All the differences are explained in details. ThaNKQQQQQQQQ
very useful & explained all the differences in detailed. THANK YOU
Great (^>^)
✿ Help me a lot during exams ✿
very useful
thankqqqqq
nice