自动类型提升
除了byte、short和char外,容量小的数据类型的变量与容量大的数据类型的变量作运算时,结果自动提升为容量大的数据类型。byte、short、char作运算时,结果自动提升为int类型
容量(从左到右依次变大)
byte、short、char-->int-->long-->float-->double
long a=123455677890L;
int b=134;
short c=10;
byte d=8;
System.out.println(a+b+c+d); //long类型
System.out.println(b+c+d); //int
System.out.println(c+d); //int 类型转换:byte、short、char用运算符运算后结果自动转型为int类型
System.out.println(c*d);
/**
* 1.除了byte、short和char外,容量小的数据类型的变量与容量大的数据类型的变量作运算时,结果自动提升为容量大的数据类型。
* 2.byte、short、char作运算时,结果自动提升为int类型
*/
强制类型转换
需要使用(类型)转化
强制类型转换可能导致精度丢失或者溢出