Java语言与C/C++语言比较

基本数据类型:
⚫ Java语言的整数类型都是有符号格式(signed),没有无符号格式(unsigned)的整
数类型。注:C/C++语言的整数类型既有有符号格式,也有无符号格式。
⚫ Java数据类型的存储位数是固定的,与操作系统或编译系统无关,其目的是为了跨
平台运行。注:C/C++语言数据类型的存储位数与操作系统或编译系统有关。
⚫ Java语言的单字节整型为byte。注:C/C++语言的单字节整型为char,与字符型相同。
⚫ Java语言的长整型long占8个字节(64位),是int型的两倍。注:C/C++语言中,长整
型long与int型占用的字节数一样。
⚫ Java语言中的字符型char占2个字节,保存字符的Unicode编码(UTF-16)。注:
C/C++语言中的字符型char占1个字节,保存字符的ANSI编码。
⚫ Java语言中布尔型的关键字是boolean。注:C/C++语言中布尔型的关键字是bool。
⚫ Java语言没有指针类型。例如,下列C/C++用法在Java语言中是错误的。
int x, *p = &x; // C/C++用法:定义一个指向变量x的int型指针变量p
*p = 10;
// C/C++用法:通过指针变量p间接访问变量x
变量与常量
⚫ Java变量名可包含美元符号$。注:C/C++语言不可以。
⚫ 未初始化的Java变量是null,不能读取。注:C/C++语言可以,但读取的是随机值。
⚫ Java语言可以书写二进制整数常量。注:C/C++语言不可以。
⚫ Java语言以Unicode编码(UTF-16)存储字符,一个汉字也是一个字符。注:C/C++语言以ANSI编码存储字符,一个汉字相当于是两个字符。
⚫ Java语言没有“符号常量”,但可通过“只读变量”实现对应的功能。注:C/C++语言可以使用“#define”宏定义指令定义符号常量。
控制语句:
⚫ Java语言选择语句和循环语句里的条件表达式必须是布尔型,不能是其他类型。注:C/C++语言可以自动将其他类型转为布尔型,非0值转成true,0转成false。
⚫ Java语言里的break和continue语句可以带标号,直接跳出外层循环,或直接返回外层循环。注:C/C++语言没有带标号的break和continue语句。
原文地址:https://www.cnblogs.com/lijingxiang/p/13941267.html