1、所有的byte,short,char型的值都将提升为int,在参与运算
2、如果有一个操作数位float型,计算结果为float;
3、如果有一个操作数位long型,计算结果为long(注意这只是针对整型);
4、如果有一个操作数位double型,计算结果为double;
5、被final修饰的变量不会自动改变类型,当两个final修饰的数相操作时,结果会根据=左边变量的类型而转化。
package test01;
public class test02 {
public static void main(String[] args) {
byte b1=1,b2=2,b3,b4,b5;
final byte b6=4,b7=6,b8,b9;
b3=(byte)(b1+b2);
b3=b6+b7;
b3=(byte) (b6+b2);//虽然b6为final不会变成int,但是b2会变成int
}
}