四种整数类型(byte short int long)
byte
- 二进制表示位数:8位
- 字节:1个字节
- 范围:-2^7——2^7-1
- -128-127
short
- 二进制表示位数:16位
- 字节:2个字节
- 范围:-2^15——2^15-1
- -32769-32767
int
- 二进制表示位数:32位
- 字节:4个字节
- 范围:-2^31——2^31-1
- -2147483648-2147483647
long
- 二进制表示位数:64位
- 字节:8个字节
- 范围:-2^63——2^63-1
它们的默认值都为0,整数都默认为int类型,所以在定义long类型数据时后面加上L或者l
两种浮点类型(float double)
float
- 字节:4个字节(32位)
- 精度:单精度
- 一位符号位,8位指数位,23位有效尾数,要想该字面值当做float类型来处理,需要在字面值后面添加F/f
double
- 字节:8个字节(64位)
- 精度:双精度
- 一位符号位,11位指数,52位有效尾数,要想该字面值当做double类型来处理,需要在字面值后面添加D/d。
字符型(char)
- 字节:2个字节
- char 数据类型可以储存任何字符(前提是Unicode编码中有的字符)
- 中文占两个字节
- 0-65535
布尔类型(boolean)
- 有且只有两种取值:true/alse(用来判断逻辑条件的)
- 字节:
八中基本数据类型转换规则及运算规则
- 八种基本数据类型中,除boolean类型不能转换,其他七种类型之间都可以进行转换
- 自动类型转换:从存储范围小的类型向存储范围大的类型转换(byte-->short(char)-->int-->long-->float-->double
- 强制类型转换:从存储范围大的类型向存储范围小的类型(double-->float-->long-->int-->short(char)->byte)
- 注意:强制转换有缺点:①会损失精度,产生误差,转换过程中部分内容会被丢掉。②容易超过取值范围
- 如果整数型字面量(数字)没有超出 byte short char 的取值范围,可以直接将其赋值给byte short char类型的变量
- byte short char 类型混合运算时,先各自转换为int类型再做运算
- 多种数据类型混合运算,先各自转换为容量最大的那种类型再做运算