强制类型转换从高到低的顺序:
long>double>float>int>byte>short>char
【注意】当使用 +、-、*、/、%运算操作时,遵循如下规则:
1.转型规则又低到高转换。如,当两个操作符有一个是double型的,另一个也会被转换为double,并且结果也是double型的
2.所有的byte、short、char型的值,都将被提升为int型
3.被final修饰的变量不会自动改变类型,当两个final修饰操作时,结果会根据左边变量的类型而转换
例:
byte b1 = 1 , b2 = 2 , b3 , b6 , b8 ;
final byte b4 = 4 , b5 = 6 , b7 ;
b3 = (b1+b2) ; 错误,b1、b2自动转为int型,而b3为byte,所以类型不一致
b6 = b4 + b5 ; 正确,b4、b5是final,不会自动提升
b8 = (b1 + b4) ; 错误,b4不会提升,b1会自动提升为int
b7 = (b2 + b5) ; 错误,b7为final修饰,值不可改变