/**
* 表达式的数据类型自动提升问题
*
* 1.所有的byte,short,char型的值将被提升为int型;
* 2.如果有一个操作数是long型,计算结果是long型;
* 3.如果有一个操作数是float型,计算结果是float型;
* 4.如果有一个操作数是double型,计算结果是double型;
*
* @author ZHOUMI2
*
*/
public class Test {
public static void main(String[] args) {
byte b1 = 1, b2 = 2, b3, b6;
final byte b4 = 4, b5 = 6;
b3=(byte)(b1+b2); // 这里不加类型转换的话就会报编译错误,因为b1+b2在运算的过程中会自动把类型提升为int
b6 = b4 + b5; // 这里不用转型,因为JVM对final变量有优化处理,直接将b4+b5的结果10当成常量赋值给b6
System.out.println(b3 + "," + b6);
}
}
// 运行结果
3,10
Java表达式的数据类型自动提升问题
最新推荐文章于 2021-03-16 05:40:38 发布