招生合作
课程分类
您当前的位置:深圳优汇学 >深圳优汇学 >c语言与java的区别

深圳JAVA学习网

c语言与java的区别

发布时间:2020-10-30 11:00:51 已帮助:179人

c语言与java的区别

 c语言与java相比可以说是各有千秋,有许多相同之处,也有不同的地方,今天小编就来区分一下他们之间的有什么不同。


首先,C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语言低。C语言最关键的是比Java多了指针,这也说明了Java的健壮性,还有Java的多线程机制使程序可以并行运行,Java程序多用于网络。C语言的安全性不如Java,C语言没有Java的垃圾回收机制,申请的空间要手动释放。Java的通用性好,可以跨平台直接移植,只要有安装Java虚拟机(JVM)就可以了。

在速度上,C语言编写的程序要优于Java,因为Java必须运行在虚拟机的环境中,但是因为虚拟机,Java获得的平台无关性,而C语言的程序有可能需要重新修改编译才能实现平台的移植,另一方面,C语言比Java语言更“底层”,更接近计算机的编译的语言。因此可以用C编写例如硬件的驱动,而Java却不行。在Java没有枚举、联合类型。

c++发展到2015年在开发效率上已经不会输给java了,绝大多数java支持的特性都增加了。现代c++也增加了跨平台支持,windows、linux、apple等都支持,而且代码是统一的,只需要重新编译一下就好,和java是一样的。c++的优势就是效率高,c++编写的要比java编写的快10~15倍。但从深圳嵌入式培训了解到的就业的角度讲,目前java的招聘岗位比较多,c++的薪水会比java高一点,但学习难度比java大很多了。

C语言的变量可以不进行初始化,但Java的变量要进行初始化。Java面向对象的特征主要有封装,继承,多态。类的继承关系是单一的、非多重的,一个子类只有一个父类,子类的父类又只有一个父类。C语言支持“运算符的重载”,这是它的一个很重要的多态特征,是数据抽象和泛型编程的利器。Java不支持这种多态机制,也是为降低复杂性。

Java可以支持方法重载和重写,所谓重载就是一个类具备多个相同属性行为;重写就是在继承关系中父类的行为在不同的子类上有不同的实现。Java中可以将类组织起来用Package打包,而C语言没有。

C语言和Java的区别远不止这些。想要更深入的学习的话,欢迎前来咨询了解报名。