java資料型別的強制轉換及相關注意事項

各位小夥伴們大家好,在上一篇文章中,小編介紹的是資料型別的自動轉換,這次小編要介紹的是

資料型別的強制轉換

。之前小編有講過,如果資料要進行

自動型別轉換,就要符合從小到大的規則

,如果不符合從小到大的規則,就無法進行自動型別轉換,如果這個時候就需要用到資料型別的強制轉換。

在強制型別轉換中,

程式碼要需要進行特殊的格式處

理,不能自動完成。那麼這個特殊的格式處理是怎樣的呢?現在,小編來告訴大家,這個特殊的處理格式,

範圍小的資料型別,範圍小的變數名=(範圍小的型別)原本範圍大的資料

為了方便大家的理解,小編就在這裡粘程式碼吧。

//long——>int,不符合從小到大的規則

/

/格式:範圍小的型別 範圍小的變數名=(範圍小的型別)原本範圍大的資料;

int num=(int)100L;

System。out。println(num);

關於資料型別的強制轉換,小編就先說到這裡,

大家只要按照格式來進行強制轉換就可以了

。接下來小編要講的是強制型別轉換的一些

注意事項

第一

. 強制型別轉換一般不推薦使用,可能會導致精度損失,

資料溢位

那麼,什麼是資料溢呢?為了方便大家的理解,小編畫一個圖,來表示一下。

java資料型別的強制轉換及相關注意事項

資料溢位

//

long強制轉換成int,輸出結果不一樣

int num2=(int)100000000000000L;/

/資料溢位

System。out。println(num2);

//double-->int

int num3=(int)3。56;//結果為3,

精度損失

System。out。println(num3);

第二

byte/short/char這三種類型都可以發生數學運算

,如,加法“+”。

char zifu1=‘A’;//

字元變數

,裡面的大寫字母A

System。out。println(zifu1+1);//A+1=66,執行結果

//A的二進位制數字是65

//

char型別進行加法運算時,會把字元當成一個數字來對待

第三. byte/short/char這三種資料型別在運算時,會被首先提升成int型別,然後計算。

byte資料型別

byte num4=40;//右側數值不可以超過左側資料型別的範圍

byte num5=50;

//byte+byte——>int+int——>int

//

byte在運算時會被首先提升為int,所以在運算的時候就已經是一個int,前面需加一個int

int result1=num4+num5;

System。out。println(result1);

short資料型別

short num6=60;

//byte+byte——>int+int——>int

int

result2=num4+num6;//int,同上

System。out。println(result2);

//

int轉short

short num7=50;

//

int也可以強制轉換為short,不過邏輯大小不可以超過short範圍,不然會發生資料溢位

short result3=(short)(num7+num6);

System。out。println(result3);

第四. Boolean型別不能發生資料型別轉換。

關於java當中資料型別的強制轉換還有相關注意事項,小編就先說到這裡,希望這篇文章可以幫到大家,也

歡迎各位小夥伴補充糾錯