其实我认为语言语法之间是没有可比性的!
但是因为额曾经学过C/C++,而今又学Java,有赵本山说的话:“知识都学杂了!”,所以我个人总结一下,望提醒自己!
Java | C++ |
double 要用%f; | double 要用%d |
布尔型:boolean; | 布尔型:bool |
字符型占2个字节,Unicode编码格式 | 字符型占1个字节,Assci编码格式 |
If , while,for 中进行真假判断时只能使用逻辑表达式,不能用1和0数字来表示真假 |
可以用0和1来表示真假 |
如果你定义了有参的构造函数,则当你调用无参的构造函数时,必须自己定义无参的构造函数; | 不需要 |
java 中数组是引用类型,只能在堆中创建 | 数组可以在栈中创建 |
较长的整数后要加L,隐含为long类型 |
较长的整数不需要加L |
安全性高:当高级类型转换为低级类型会报错!例;想要将double转换为float, float a=2.0f(F) |
|
取余时:被除数和除数可以是实数;但所得余数的正负只和被除数相同 |
|
Java中没有指针:A a=new A(); | A *a=new A(); |
java中不行 | C和C++ 中枚举类型enum是可以用0,1……来表示的 |
例:enum MyColor { red, green, blue };
MyColor m= red;//C或C++中定义枚举类型新变量
MyColor m= MyColor.red;//java中定义枚举类型新变量
C和C++的简单区别:
C中没有String引用类型,它是用字符数组表示,用‘\0’表字符结束;而C++和java中有String引用类型;
另外,C++中的String对象可以用s[i]进行操作,而Java中则不可以,需要转换为char[]才行;