2014134027谢天

论C语言与Java的区别

计算机系  谢天  2014134027

一、C语言是面向过程的语言,执行效率高;Java是面向对象的语言,执行效率比C语言低。

二、标识符命名不同:Java标识符可从一个字母、下划线或美元符号$开始,随后可以跟除了在Java中作为运算符之外的任何可见字符。而C语言中,标识符由字母、数字、下划线组成,必须由字母或下划线开始。

三、输出语句的书写方式不同:Java是System.out.println(…);而C语言是printf(…),

四、Java程序中的关键字与C语言中的大不相同

五、语法中的基本类型:C语言中有很多的基本类型,如char,short,int,long,struct….还有数组,指针等。在Java中,只有(boolean,char,byte,int,long,float,double)这八种基本数据类型。

六、初始值:在C语言中,是可以不初始化使用的,但在Java中,是必须初始化值的。

七、Java没有预处理指令(如C语言中的#define,#include…)

八、Java中没有指针,而C语言中有。

九、Java有垃圾收集机制,不需要自己释放空间。

十、在C语言中,对于不同的平台,编译器对于简单的数据类型如int与float等分配不同长度的字节数,但在Java中,对于这些数据类型总是分配固定长度的位数。

十一、Java没有goto语句。Goto在C语言提供的控制语句基础上增加了异常处理和标签break和continue语句。这些可以替代goto的作用。

十二、在Java中,不能在所有类之外定义全局变量,只能通过在一个类中定义公用的、静态的变量来实现一个全局变量。

十三、在C语言中,可以通过指针进行任意的类型转换,常常带来不安全性,而在Java中,运行时系统对对象的处理要进行类型相容性检查,以防止不安全的转换。

十四、头文件:在C语言中,用头文件来声明类的原型以及全局变量、库函数等,在大的系统中,维护这些头文件是很困难的,Java语言不支持头文件,类成员的类型和访问权限都封装在一个类中,运行时系统对访问进行控制。

十五、Java不支持C的可变参数表

十六、Java中的主类型的size是确定的,而C语言中主类型的size跟平台有关。

十七、C++支持多重继承,Java不支持

十八、结构和联合

     C中的结构和联合中所有成员均为共有,这就带来了安全问题,Java中不包含结构和联合,所有的内容都封装在类中

十九、内存管理:在C中,程序员通过库函数malloc()和free()来分配和释放内存,C++则通过运算符new和delete来分配和释放内存。再次释放已释放的内存块或未被分配的内存块,会造成系统的崩溃;同样忘记释放不再使用的内存块也会逐渐耗尽系统资源。而在Java中,所有的数据结构都是对象,通过运算符new为他们分配内存堆。通过new得到对象的处理权,而实际分配给对象的内存可能随程序运行而改变,Java对此自动的进行管理,并且进行垃圾收集,有效的防止了由于程序员的误操作而导致的错误,并且更好的利用了系统资源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值