从C/C++到Java(一)

1. Java中的long是64位,char占两个字节,比C多了byte和boolen类型。所以,Java没有sizeof操作符。而且,Java没有“无符号”类型,里面的整数全都是有符号的。

2. Java中的switch语句更严格,它规定switch中的表达式的值的类型必须是int或char,即使是short和long也是不允许的。

3. Java的任何表达式中都不能使用逗号运算符,但是在for循环中,逗号作为一个特殊的语法被支持。

4. Java没有指针,有的只是数组和引用。NULL在Java里被叫做null。需要特别指出的一点是:虽然Java中的函数参数是通过引用传递,但在被调函数中会存有对参数的本地拷贝。

5. Java不需要自己释放内存,因为它带有垃圾回收器。

6. Java不支持多重继承,C++支持。一种替代的方案是Java的interface。

7. 即使是在C++中,string和字符数组也有某种联系,而Java中的String已经基本上脱离了这种关系(仅有的一点儿联系也是你应该避免的)。

8. Java代码是被编译成byte code,而C和C++都是直接被编译成二进制机器码。因此,编写可移植的Java代码比编写可移植的C/C++要容易得多。(感谢孔建军补充这一点)