1.自动类型转换
在开发中存在不同类型的变量赋值给其他类型的变量
1.自动类型转换:范围小的变量可以直接赋值给类型范围大的变量
//自动类型转换
byte a = 10;
int b = a;//发生了自动类型转换
2.其他形式:
byte→short→int→long→float→double
char→int
int age = 18;
double qAge = age;//自动类型转换
char ch = 'a';
int code = ch;
2.表达式的自动类型转换
在表达式中,小范围类型的变量会自动转换成当前较大范围类型再运算。
byte、short、char→int→long→float→double
注意事项:
1.表达式的最终结果类型由表达式中的最高类型决定
2.在表达式中,byte、short、char是直接转换成int类型参与运算的。
3.强制类型转换
类型范围大的数据或者变量,不能直接赋值给类型范围小的变量,会报错。强制类型转换可以强行将范围大的变量、数据赋值给类型范围小的变量。
数据类型 变量2 = (数据类型)变量1/数据
注意事项:
1.强制类型转换可能造成数据溢出/丢失。
2.浮点型强转成整型,直接丢掉小数部分,保留整数部分返回。