Java中的数据类型分为两种:引用数据类型 和 基本数据类型.
基本数据类型又分为(4类8种):整型、浮点型、字符型、布尔型.
一、java中的整型有byte、short、int、long(默认为int类型)
它们的取值范围分别为:
byte(占1个字节 = 8位):
| 次方 | 十进制 | 二进制 |
最大值范围 | (2^7)-1 | 127 | 01....1//后面有15个1 |
最小值范围 | -2^7 | -128 | 10…0//后面有15个0 |
short(占2个字节=16位):
| 次方 | 十进制 | 二进制 |
最大值范围 | (2^15)-1 | 32767 | 0111 111 |
最小值范围 | -2^15 | -32768 | 1000 000 |
int(占4个字节=32位)
| 次方 | 十进制 | 二进制 |
最大值范围 | (2^31)-1 | 2147483647 | 01....1//后面有31个1 |
最小值范围 | -2^31 | -2147483648 | 10...0//后面有31个0 |
long(占8个字节=64位)
| 次方 | 十进制 | 二进制 |
最大值范围 | (2^63)-1 | 9,223,372,036,854,775,807 | 01....1//后面有63个1 |
最小值范围 | -2^63 | -9,223,372,036,854,775,808 | 10....0//后面有63个0 |
总结:n位有符号整数的表示范围为[−2^(n−1) ~ 2^(n−1)−1]
注:几个整数都是有符号整数,以byte为例,取值范围计算为:
在计算机中,有符号整数在用二进制表示时,最高位符号为0代表是正数、1代表是负数,并且它们是以补码的形式存储的,就是将其原码除符号位外的所有位取反后加1。
二、浮点型(默认是double)
类型 | 所占字节 |
float | 4个字节 |
double | 8个字节 |
三、字符型
类型 | 所占字节 | 取值范围 |
char | 2个字节 | 0~65535 |
四、布尔型
类型 | 所占字节 | 取值 |
boolean | 1个字节 | true/flase |