2015年11月24日 星期二

Java 學習日誌 021:Assignment Statement中declare與initialize的規則與相容性


理論上,我們無法不能賦予一個variable不是他的type的值,例如:

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.

沒有留言:

張貼留言