C++与Java区别

C++与Java区别

1.c++有指针,Java无指针,c++需要对不用的内存进行释放(free,delete),Java会自动回收。

2.c++在不同平台上相同数据类型字节大小可能不同,16位操作系统上int占字节数为16,long占字节数为32,32位操作系统上int占的字节数为32,long占32,64位操作系统上int占字节数为32,long占字节数为64.
Java在不同平台上相同数据类型字节大小相同,确保了java的跨平台性。

3.Java是完全面向对象的,java中所有的数据都以类的形式存在。

4.java中没有goto,但有label

5.c++中有对类的多重继承。java中没有,但有对接口的多重继承

6.变量的作用域。c++中如果有这样的情况

{
	int a=1;
	{
		int a=2
	}
}

那么里面花括号里a的值会覆盖外面的值。
但是如果在java里就会报错:该变量已定义。

7.c++中定义一个数组之后,就会为其分配空间,可赋值。
但是在Java里声明完之后并不会对其分配空间,需要先new(实例化)之后才会为其分配空间。

8.当变量作为类的成员使用时,Java才确保给定默认值,以确保那些基本类型的成员变量得到初始化,但是C++没有此功能。而对于局部变量,C++编译器会对其予以警告,Java则会视为错误。

9.java中除了bool类型的变量外其余基础数据类型均可转换为其他基础数据类型。

10.java中不可以对运算符进行重载操作,但c++可以。

11.java不可以将一个非bool值在逻辑判断式里面使用,c++可以,0为假,非0为真。

12.Java是半解释和半编译的,运行速度比C++慢。 这也是java能跨平台的原因之一。

13.java中有异常机制用于捕获异常,为c++中没有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值