自动类型转换:类型范围小的变量可以直接赋值给类型范围大的变量
自动类型转换的底层原理:
byte a=20; a 00001100(8位)
int b=a; b 00000000 00000000 00000000 00001100(32位)
自动类型转换的其他形式:
byte—>short—>int—>long—>float—>double
char—>int—>long—>float—>double
表达式的自动类型转换:在表达式中,小范围类型的变量会自动转换成当前较大范围的类型再运算
byte,short,char—>int—>long—>float—>double
注意事项:
1.在表达式中,byte,short,char,是直接转换成int类型参与运算的
2.表达式的最终结果类型由表达式中的最高类型决定
强制类型转换:可以强制将类型范围大的变量,数据赋值给类型范围小的变量
数据类型 变量2=(数据类型)变量1,数据
问题:类型范围大的数据或者变量,不能直接赋值给范围类型小的变量
强制类型转换的底层原理:
int a=20; a 00000000 00000000 00000000 00001100(32位)
byte b=(byte)a; b 00001100(8位)
int a=1500; a 00000000 00000000 00000101 11011100(32位)
byte b=(byte)a; b 11011100(8位)(-32)
注意事项:
1.强制类型转换可能造成数据(丢失)溢出
2.浮点型强转成整形,直接丢掉小数部分,保留整数部分返回、



