亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

求解答哦!謝謝!

問?double avg=sum/4;與double avg=sum/4.0;前者結果是26.0后者結果為26.25,這是為什么????

正在回答

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



4 回復 有任何疑惑可以回復我~

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,答案沒有取整數。

1 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Java入門第一季(IDEA工具)升級版
  • 參與學習       1167478    人
  • 解答問題       18748    個

0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始

進入課程

求解答哦!謝謝!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號