首頁技術(shù)文章正文

Java培訓(xùn):面向?qū)ο蟮碾[式轉(zhuǎn)換和強(qiáng)制轉(zhuǎn)換

更新時(shí)間:2022-08-31 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

隱式轉(zhuǎn)換

隱式轉(zhuǎn)換也叫自動(dòng)類型提升。就是把一個(gè)取值范圍小的數(shù)據(jù)或者變量,賦值給另一個(gè)取值范圍大的變量。此時(shí)不需要我們額外寫代碼單獨(dú)實(shí)現(xiàn),是程序自動(dòng)幫我們完成的。簡(jiǎn)單來說就是小的給大的,可以直接給。

兩種提升規(guī)則:
取值范圍小的,和取值范圍大的進(jìn)行運(yùn)算,小的會(huì)先提升為大的,再進(jìn)行運(yùn)算。

byte、short、char三種類型的數(shù)據(jù)在運(yùn)算的時(shí)候,都會(huì)直接先提升為int,然后再進(jìn)行運(yùn)算。

理解隱式轉(zhuǎn)換從大到小的關(guān)系:

byte short int long float double

例如:

java
byte b = 100;
int i = b;//可以成功賦值

因?yàn)閎yte的取值范圍是小的,int的取值范圍是大的,在底層進(jìn)行了隱式轉(zhuǎn)換,不需要我們額外寫代碼單獨(dú)實(shí)現(xiàn),是可以直接賦值。

強(qiáng)制轉(zhuǎn)換

如果要把一個(gè)取值范圍大的數(shù)據(jù)或者變量賦值給另一個(gè)取值范圍小的變量。是不允許直接操作。如果想要直接操作的話,就需要加入強(qiáng)制轉(zhuǎn)換。
目標(biāo)數(shù)據(jù)類型 變量名 = (目標(biāo)數(shù)據(jù)類型)被強(qiáng)轉(zhuǎn)的數(shù)據(jù);

總結(jié):寫在小括號(hào)中的就是想要轉(zhuǎn)換的類型。強(qiáng)制轉(zhuǎn)換有可能會(huì)導(dǎo)致數(shù)據(jù)發(fā)生錯(cuò)誤。(數(shù)據(jù)的精度丟失)



分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!