int intVariable;
intVariable = 2.99;
以上式子會被顯示為錯誤,因為2.99的type是double,而intVariable的type是int。
不過在某些情況下,我們可以賦予一個variable不是他的type的值。我們可以賦予有小數type(例如type double)的variable,一個整數type(例如type int)的值,舉例來說:
double doubleVariable;
doubleVariable = 2;
以上的式子是正確的,因為doubleVariable的值會被解讀為2.0。
同樣地,我們也可以歸類擁有小數type的variable在擁有整數type的variable底下,例如:
int intVariable;
intVariable = 42;
double doubleVariable;
doubleVariable = intVariable;
總結來說,在下面的式子中,我們可以賦予擁有後者type的variable,前者的值:
byte -> short -> int -> long -> float -> double
以上規則可以成立的原因是,越往右邊,其涵蓋的範圍越大。
參考資料:Walter Savitch. Absolute Java. 5th ed.