上一節(jié)我們學(xué)習(xí)了4種數(shù)據(jù)類型,也提到每種類型的變量只能存這種類型的數(shù)據(jù)??墒?,有時(shí)候真的需要把不同類型的值放在一起運(yùn)算,比如這種:3.5+8 這時(shí)候怎么辦呢?有下面2種情況:
自動類型轉(zhuǎn)換:2種不同類型的數(shù)據(jù)運(yùn)算,低精度類型會自動轉(zhuǎn)換為較高精度的類型。
以3.5+8為例,顯然數(shù)字8的精度較低(int),而3.5的精度較高(double),所以,8會自動轉(zhuǎn)換為double型,即轉(zhuǎn)換為3.5+8.0進(jìn)行運(yùn)算,結(jié)果為11.5。
請看這個(gè)例子:double d=2;
2的精度顯然低于變量d的精度,所以2會自動轉(zhuǎn)換為2.0然后賦值給d。
再看這個(gè)例子:int i=3.0;
變量i的精度低于3.0,但是由于i已經(jīng)聲明為int型的變量,變量的值可以變,但變量的類型可不能變來變?nèi)サ?,所以這條命令會出錯(cuò)的。
強(qiáng)制類型轉(zhuǎn)換:無法自動轉(zhuǎn)換為我們需要的類型,可以用強(qiáng)制類型轉(zhuǎn)換,比如上例可以這樣完成:
int i=(int)3.0;
數(shù)字前面的(int)表示轉(zhuǎn)換的目標(biāo)類型為int,3.0會被強(qiáng)制轉(zhuǎn)換為3。
需要注意, double 型強(qiáng)制轉(zhuǎn)換為int型將失去小數(shù)部分,比如(int)2.8,我們得到的將是2。
這段程序計(jì)算變量d和x的和,并打印。但是d和x的類型不同,計(jì)算會出錯(cuò)嗎?
請把第 12 行的代碼改為 int x = (int)d + 1;這樣就對變量d進(jìn)行了強(qiáng)制類型轉(zhuǎn)換。
那么,程序運(yùn)行的結(jié)果會是多少呢?
強(qiáng)制類型轉(zhuǎn)換的()中寫的是目標(biāo)類型,同時(shí),轉(zhuǎn)換可能會損失精度
請驗(yàn)證,完成請求
由于請求次數(shù)過多,請先驗(yàn)證,完成再次請求
打開微信掃碼自動綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報(bào)