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