1, 对数组的处理:c/c++使用数组很危险,在cc++中数组就是内存块。Java是安全的,会有范围检查,以及运行时的下标检查。当数组越界,c/c++会默默的接受,并允许访问所有内存,java会报出数组越界的异常。
2, 变量作用域。
{
int x=12;
{
int x=13;//在c/c++合法,java不允许
}
}
对象作用域
c/c++确保使用完对象后,必须要销毁。Java中有垃圾回收器 用来处理,不需要担心内存溢出的问题。
类成员变量初始化
当变量作为类的成员使用时,Java才确保给定其默认值,以保证那些基本类型的成员变量初始化,但c++没有此功能
局部变量初始化
在一个方法中定义 int x;时,不会被默认初始化为0,java在编译时会报错,提示未初始化。在c++中则是一个警告。
3, 无符号右移>>>:java里有,c++里没有。
在对char byte short 进行移位处理时,移位之前转换为int,结果也为int。
4, 操作符重载:java里没有,c++里有。
5, Sizeof:java里没有,cc++获取为数据项分配的字节数,使用sizeof的原因是为了“移植”。
6, 布尔值:java里不允许将一个数字作为布尔值,cc++里“真”是非零,“假”是零。
7, 销毁:java里有垃圾回收器,cc++有析构函数负责销毁
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7464531/viewspace-625279/ ,如需转载,请注明出处,否则将追究法律责任。