Java表示式的資料型別自動提升問題
阿新 • • 發佈:2019-02-12
/**
* 表示式的資料型別自動提升問題
*
* 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