1.類型自動轉換。
轉換規則:從存儲範圍小的類型到存儲範圍大的類型。
具體規則爲:byte→short(char)→int→long→float→double
注意問題:在整數之間進行類型轉換時,數值不發生改變,而將整數類型,特別是比較大的整數類型轉換成小數類型時,由於存儲方式不同,有可能存在數據精度的損失。
2.類型顯示轉換。
轉換規則:可以任意轉換,但是存儲範圍大的類型到存儲範圍小的類型可能會丟失精度。
如下面例子:
int i = 165533; Integer integer=165533; System.out.println(Integer.toBinaryString(integer)); System.out.println(Integer.toBinaryString(34461)); System.out.println((int)(char) i);
結果爲:
101000011010011101 1000011010011101 34461
可以看到,i=165533的二進制已經爲18位,而char只有兩個字節,即16位,因此將int強制轉換成char後,保留的數字位低16位的數字,爲34461.