3.5.3 強制型別轉換
阿新 • • 發佈:2018-12-01
在必要的時候,int型別的值將會自動轉換為double型別。但另一方面,有時也需要將double轉換成int。在Java中,允許進行這種數值之間的型別轉換。當然,有可能會丟失一些資訊。在這種情況下,需要通過強制型別轉換(cast)實現這個操作。強制型別轉換的語法格式是在圓括號中給出想要轉換的目標型別,後面緊跟待轉換的變數名。例如:
double x = 1.234;
int nx = (int)x;
System.out.println(nx);
輸出nx的值為1.強制型別轉換通過截斷小數部分將浮點值轉換為整型。
如果想對浮點數進行舍入,需要使用Math.round方法:
double x = 9.99;
int nx = (int)Math.round(x);
System.out.println(nx);
輸出nx的值為10。當呼叫round的時候,仍然需要使用強制型別轉換(int),其原因是round方法返回的結果為long型別,由於存在資訊丟失的可能性,所以只有使用顯式的強制型別轉換才能將long型別轉換成int型別。
輸出nx的值為10。當呼叫round的時候,仍然需要使用強制型別轉換(int),其原因是round方法返回的結果為long型別,由於存在資訊丟失的可能性,所以只有使用顯式的強制型別轉換才能將long型別轉換成int型別。