1.自动类型提升
byte b1 = 2;
int i1 = 12;
byte b2 = b1 + i1;编译不通过
int i2 = b1 + i1;编译通过
byte short int long float double
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型。
char容量比int小
当short与char运算时结果的数据类型自动转变为int型
byte类型char类型short类型 这三种类型变量做运算时结果为int型
2.强制类型转换
自动类型转换的逆运算
double d1 = 12.3;
int i1 = d1;
此时必须要在强制转换的类型前加(数据类型):
int i1 = (int)d1;
可能导致损失精度