发布网友
共5个回答
热心网友
展开1全部楼上两位正解
JAVA与C的本质区别是JAVA面向对象编程,C是面向过程编程,这就使得JAVA具有重用的特性,在开发速度上比之C更快,但是在运行速度上却是C更快,因为C属于底层语言,它比JAVA更加亲近机器,所以在许多系统开发上一般是用C语言,比如我们常用的XP系统,LINUX系统,都是C语言开发的.
JAVA现在主要用在WEB开发,手机游戏及一些平台游戏的开发,因为它具有很好的跨平台性,现在在JAVA与LINUX结合的非常好,在手机等各种电子产品上应用非常广泛.不过现在大多人都学习JAVA的WEB编程,因为这个比较简单实用,就业更快.
C语言现在主要用与系统开发,桌面应用软件的开发,更多的是用在游戏领域,当然,只要你愿意,也可以开发WEB程序,但是在开发难度上会增加不少.这些足以证明C语言是比JAVA更强大的语言,但是也比JAVA更加难以掌握,里面的指针是所有程序员都为之头痛的,而继承了C的所有优点的JAVA语言则完全没有这个问题,可以说JAVA是C语言的进化版本之一,为什么是之一呢,因为还有C++,其实JAVA就是继承了C/C++的优点而产生的高级语言,它可以说具有两者的全部优点,并祛除了其中不好的地方,但即使如此也不能否认C/C++仍然具有强大的优势,尤其是在系统程序的开发上,这是JAVA无法比拟的.
所以JAVA能做的C也可以做,而C能做的JAVA也可以做,只是两者的侧重点不一样.
热心网友
Java和C都是指令式语言(Imperative Language),不同的是Java有面向对象(OO)成分在里面,而C是完全面向过程的,C的高级版本C++、C#支持面向对象。
另外一个不同是,Java跨平台,既不同的操作系统都可以通过JVM来解释Java程序,而C、C++、C#则是与平台相关的,有些指令只在某些操作系统中才能执行。具体原因是,Java是解释型语言,所有代码都会翻译成统一的、与系统无关的bytecode,然后放到JVM上运行;而C是编译式语言,代码要先通过编译器转换成与系统相关的中间代码,然后才能运行。
再一个不同是,Java不支持系统调用,既无法与操作系统进行交互,这是由它跨平台的特点决定的,而C则可以调用系统中的指令,如fork()。这也就是为什么Java中只有线程(Thread)概念而没有进程(Process)概念,而C两者均有。
再者,Java无法对内存进行控制,而C则可以通过指针对内存进行人为分配。
还有一点,Java有Gabbage Collection机制,可以自动回收不再使用的空间,而C则要用free()函数释放空间。
总的来说,Java比较容易上手,学得快,但对于了解编程语言来说帮助不如C大。
当然Java和C之间的区别还有很多很多。
反正就各有各的优势啦,C一般负责底层 java这就是应用程序
热心网友
都说了这么多了,我打个很简单的例子吧。
电梯LZ做过吧?我想肯定有的吧。酒店门口的,弥红灯见过吧?肯定有的吧?LZ去移动或联通冲过话费,或办理过宽带吗?有的吧?
1. 电梯与弥红灯的程序是C写的
2. 移动或联通充值系统,营业员操作电脑的那个是JAVA做的,柜式的是C做的
C是做底层开发的,能够直接抓取控制内存,基于硬件的。它所写出来的程序能够快速有效直接的被执行。并且C是面向过程的一门编程语言
JAVA 是需要有虚拟机进行解释的不能够操控硬件,抓取内存,因为它没有指针,它执行的时候需要进行转译成机器能懂得语言,然后才能被执行。
JAVA 主要做WEB开发
C主要用于 系统,硬件的开发
JAVA 能做的 C能做,C能做的JAVA不能做!并不是说JAVA没有C强,只能说,用处不一样,各有优势。
就这么多希望对LZ有帮助
热心网友
C是底层的,java是包装的,java能做的C都能做。C做的东西执行效率是高的
但,java比C的开发效率高,做东西快,而且跨平台
总之就是二个不同的语言,优势不同而已!
热心网友
Java目前主要是做web开发,而c比较擅长做系统开发,