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