类型转换分为:自动类型转换和强制类型转换。
自动类型转换:
把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。
注意:
byte,short和char之间不会相互自动转换。
byte,short,char三者之间在进行运算(单独运算或者混合运算)的时候首先会转为int类型。
boolean类型不参与类型的自动转换。
例如:
byte a = 1;
byte b = 2;
byte c = a + b;//错误:a + b => int,a + b会先转为int类型
强制类型转换:
把一个表示数据范围大的数值或者变量赋值给另一个表示数据范围小的变量。
格式:目标数据类型 变量名 = (目标数据类型)值或者变量;
浮点数:
单精度:float 4个字节
双精度:double 8个字节
- 浮点数的存放形式:浮点数 = 符号位 + 指数位 + 尾数位
- 尾数部分可能丢失,造成精度缺失(小数都是近似值)(double的精度比float高)
浮点型常量有两种表现形式:
- 十进制数形式:如:5.12 、512.0f 、.512(小数点必不可少)
- 科学计数法形式:如:5.12e2(5.1210的2次方) 、5.12E-2(5.1210的-2次方)