課程
/后端開發
/Java
/Java入門第一季(IDEA工具)升級版
問?double avg=sum/4;與double avg=sum/4.0;前者結果是26.0后者結果為26.25,這是為什么????
2016-03-26
源自:Java入門第一季(IDEA工具)升級版 3-2
正在回答
是這樣的,首先avg被你聲明為double類型,但是運算里面,除數sum=105是整型,被除數4也是整型。除數和被除數都是整型的計算結果也會是整型。然后計算機會先計算105/4的結果(結果為整型數),整型會把小數部分直接切掉,就是把26.25切成26,然后再按照你要求的double輸出,就加上小數位,26的小數位是26.0,所以這時候輸出的就是26.0
第二個avg=sum/4.0,因為除數或者被除數中有一個是浮點類型的話,計算器會自動把結果變成浮點類型,sum/4.0的結果就是26.25,然后再按照你聲明的double類型輸出,就還是26.25
double avg = sum / 4;
因為4是基本類型int,所以105/4的結果只能是整數26,但是因為avg是double類型,所以自動轉為26.0(這個轉換必然是表達式sum/4為先,int ---> double為后)
double avg = sum / 4.0;
這時,即使sum為int類型,sum/4.0的結果一定和4.0一樣是double類型,所以結果為26.25,答案沒有取整數。
舉報
0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始
2 回答求解答 謝謝
2 回答求幫忙解答謝謝
2 回答求大神解答,謝謝了
1 回答答案亂碼的?求解答謝謝
6 回答求詳細解答!用for,謝謝
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-03-26
是這樣的,首先avg被你聲明為double類型,但是運算里面,除數sum=105是整型,被除數4也是整型。除數和被除數都是整型的計算結果也會是整型。然后計算機會先計算105/4的結果(結果為整型數),整型會把小數部分直接切掉,就是把26.25切成26,然后再按照你要求的double輸出,就加上小數位,26的小數位是26.0,所以這時候輸出的就是26.0
第二個avg=sum/4.0,因為除數或者被除數中有一個是浮點類型的話,計算器會自動把結果變成浮點類型,sum/4.0的結果就是26.25,然后再按照你聲明的double類型輸出,就還是26.25
2016-03-26
double avg = sum / 4;
因為4是基本類型int,所以105/4的結果只能是整數26,但是因為avg是double類型,所以自動轉為26.0(這個轉換必然是表達式sum/4為先,int ---> double為后)
double avg = sum / 4.0;
這時,即使sum為int類型,sum/4.0的結果一定和4.0一樣是double類型,所以結果為26.25,答案沒有取整數。