1. 程式人生 > >Java表示式的資料型別自動提升

Java表示式的資料型別自動提升

表示式的資料型別自動提升, 關於型別的自動提升,注意下面的規則。

  1. 所有的byte,short,char型的值將被提升為int型;
  2. 如果有一個運算元是long型,計算結果是long型;
  3. 如果有一個運算元是float型,計算結果是float型;
  4. 如果有一個運算元是double型,計算結果是double型;

例如:

byte b1 = 1, b2 = 2, b3, b6;
final byte b4 = 4, b5 = 6;
// 編譯時常量,在編譯時會編譯為 b6 = 10;
b6 = b4 + b5;
// 編譯時異常 (b1+b2)會自動提升為int型,b3為byte型,向下轉型需要強制型別轉換
b3 = (b1 + b2);

這裡寫圖片描述

java的常量分為編譯期常量和執行期常量
- 編譯期常量 如 final int a = 1 + 2;
- 執行期常量 如 final int b = new Random(12);

顧名思義,編譯期常量的值在編譯期就確定了。