写Java几年了,其实一直对java的基础类型有点模糊,所以在这里总结一下
字节
- byte: 字节,长度是1个字节,相当于8个比特(bit),一个能存256个数字,范围是 -128 ~127(相当于2的8次方,可以参考最后2的次方表理解)
整数
- short : 占用2个字节,相当于16个比特(bit),范围是 -32768 ~ 32767
- int:占用4个字节,范围是大约:负21亿 ~ 正21亿之间
- long:占用8个字节,计算同上
浮点数
- float : 占用4个字节,但它的范围远远大于long,大概是 - 2 127 2^{127} 2127 ~ 2 127 2^{127} 2127
- double:占用8个字节,占用的空间比float高,精度也更高,范围也远远大于float 大概是 - 2 1024 2^{1024} 21024 ~ 2 1024 2^{1024} 21024
字符
- char:2个字节(更具编码不一样,而不一样)
布尔
- boolean:true或者false
2的次方表
1 ~ 2
2 ~ 4
3 ~ 8
4 ~ 16
5 ~ 32
6 ~ 64
7 ~ 128
8 ~ 256
9 ~ 512
10 ~ 1024
11 ~ 2048
12 ~ 4096
13 ~ 8192
14 ~ 16384
15 ~ 32768
16 ~ 65536
17 ~ 131072
18 ~ 262144
19 ~ 524288
20 ~ 1048576
21 ~ 2097152
22 ~ 4194304
23 ~ 8388608
24 ~ 16777216
25 ~ 33554432
26 ~ 67108864
27 ~ 134217728
28 ~ 268435456
29 ~ 536870912
30 ~ 1073741824
31 ~ 2147483648
32 ~ 4294967296