考慮以下代碼:爲什麼Java中的短整數除法的結果類型不是一個短整數?
public class ShortDivision {
public static void main(String[] args) {
short i = 2;
short j = 1;
short k = i/j;
}
}
編譯此產生錯誤
ShortDivision.java:5: possible loss of precision
found : int
required: short
short k = i/j;
因爲表達式i的類型/ J顯然INT,並且因此必須被強制轉換爲短。
爲什麼是i/j
類型不淡?
因爲將int轉換爲short可能會導致精度損失。 (-32768/-1) – 2010-02-13 09:06:04