Java中基本类型有8中。
类型 | 字节数 | 范围 |
byte | 1 | -128~127 (-2的7次方到2的7次方-1) |
short | 2 | -32768~32767(-2的15次方到2的15次方-1) |
int | 4 | -2147483648~2147483647(-2的31次方到2的31次方-1) |
float | 4 | |
double | 8 | 最高位即63位为符号位,62-52位为指数位,51-0位为尾数,或者称有效数字位。 |
long | 8 | (-2的63次方到2的63次方-1) |
char | 2 | |
boolean | 不定 | true 、 false |
boolean类型没有给出精确的定义,用一个bit就可以存储。《Java虚拟机规范》给出了4个字节,和boolean数组1个字节的定义,具体还要看虚拟机实现是否按照规范来,所以1个字节、4个字节都是有可能的。这其实是运算效率和存储空间之间的博弈,两者都非常的重要。
在通常情况下,如果JAVA中出现了一个整数数字比如35,那么这个数字就是int型的,如果我们希望它是byte型的,可以在数据后加上大写的 B:35B,表示它是byte型的,同样的35S表示short型,35L表示long型的,表示int我们可以什么都不用加,但是如果要表示long型的,就一定要在数据后面加“L”。