1)四种整数类型(byte、short、int、long):
byte:8位,用于表示最小数据单位,如文件中数据,-128~127
short:16位,很少用,-32768 ~ 32767
int:32位、最常用,-231-1~231 (21亿)
long:64位、次常用
JAVA 默认使用为 int
2)两种浮点数类型(float、double):
float:32位,后缀F或f,1位符号位,8位指数,23位有效尾数。
double:64位,最常用,后缀D或d,1位符号位,11位指数,52位有效尾数。
JAVA默认使用为 double
- 尾数: . 1010100010 指数:1010 基数:2
- 浮点数字面量默认都为double类型,所以在定义的float型数据后面加F或f;double类型可不写后缀,但在小数计算中一定要写D或X.X。
- float 的精度没有long高,有效位数(尾数)短。
- float 的范围大于long 指数可以很大。
- 浮点数是不精确的,不能对浮点数进行精确比较。
3)一种字符类型(char):
char:16位,是整数类型,用单引号括起来的1个字符(可以是一个中文字符),使用Unicode码代表字符,0~2^16-1(65535)。
4)一种布尔类型(boolean):true真 和false假。
5)类型转换: char–>
自动转换:byte–>short–>int–>long–>float–>double
强制转换:
会损失精度,产生误差,小数点以后的数字全部舍弃。
容易超过取值范围。
附上一张图方便理解