5.Java数据类型

Java 是一种强类型的语言,声明变量时必须指明数据类型。变量(variable)的值占据一定的内存空间。不同类型的变量占据不同的大小。
强类型要考
Java*有8种基本数据类型,包括4 种整型、2 种浮点型、1 种字符型、1 种布尔型,请见下表。

数据类型 说明 所占内存 举例 备注
byte 字节型 1 byte 3, 127
short 短整型 2 bytes 3, 32767
int 整型 4 bytes 3, 21474836
long 长整型 8 bytes 3L, 92233720368L long最后要有一个L字母(大小写无所谓)。
float 单精度浮点型 4 bytes 1.2F, 223.56F float最后要有一个F字母(大小写无所谓)。
double 双精度浮点型 8 bytes 1.2, 1.2D, 223.56, 223.56D double最后最好有一个D字母(大小写无所谓)。
char 字符型 2 bytes ‘a’, ‘A’ 字符型数据只能是一个字符,由单引号包围。
boolean 布尔型 1 bit true, false

对于整型数据,通常情况下使用 int 类型。
但如果表示投放广岛长崎的原子弹释放出的能量,就需要使用 long 类型了。
因为long比int的取值范围大
byte 和 short 类型主要用于特定的应用场合
例如,底层的文件处理或者需要控制占用存储空间量的大数组。

注: 在Java中,整型数据的长度与平台无关,这就解决了软件从一个平台移植到另一个平台时给程序员带来的诸多问题。与此相反,C/C++ 整型数据的长度是与平台相关的,程序员需要针对不同平台选择合适的整型,这就可能导致在64位系统上稳定运行的程序在32位系统上发生整型溢出。
八进制有一个前缀 0,例如 010 对应十进制中的 8;十六进制有一个前缀 0x,例如 0xCAFE;从 Java 7 开始,可以使用前缀 0b 来表示二进制数据,例如 0b1001 对应十进制中的 9。同样从 Java 7 开始,可以使用下划线来分隔数字,类似英文数字写法,例如 1_000_000 表示 1,000,000,也就是一百万。下划线只是为了让代码更加易读,编译器会删除这些下划线。
另外,不像 C/C++,Java 不支持无符号类型(unsigned)。
注: 在C语言中,如果判断条件成立,会返回1,否则返回0,例如:

#include <stdio.h>
int main(){
    int x = 100>10;
    int y = 100<10;
    printf("100>10 = %d\n", x);
    printf("100<10 = %d\n", y);
    return 0;
}

运行结果:
100>10 = 1 100<10 = 0
但是在Java中不一样,条件成立返回 true,否则返回 false
100>10 = 1 true 100<10 = 0 false
实际上,true 等同于1,false 等同于0,只不过换了个名称,并单独地成为一种数据类型。

上一篇:linux 5种IO模型总结


下一篇:2021-11-03