課程
/后端開發
/Java
/Java入門第一季(IDEA工具)升級版
int m = 5;
int n = 7;
double x = (m*8/(n+2))%m;
為什么運行結果不是:4.44444?? 而是:4.0???
2016-03-22
源自:Java入門第一季(IDEA工具)升級版 3-8
正在回答
4.444是(m*8/(n+2))這個式子算出來的,%是指求余的算術運算符,而4.444%m也就是說4.444除以5后所取的余數,余數只有整數,同時你前面是用了double類型,所以顯示是4.0。
我的問題就錯著呢,剛發現錯誤,算錯了
前面的亂來。。。取余可以取浮點型,還有整除是什么鬼。。。
m,n都是int,返回int類型,結果相當于舍掉小數點后面是4,4賦值給double類型的x,自動轉換成4.0。。
(byte char short)這三個運算返回int型,?int<long< float<double 這幾個運算結果是往后看。。。
誰搶了我的好奇寶寶
充電_ 回復 誰搶了我的好奇寶寶
因為類型不同,int類型相加,默認結果的類型也是int。所以從int轉換成double就會出現這樣的結果。
%是整除
double 類型的是浮點型的,但是取余取得的是整數類型。
舉報
0基礎萌新入門第一課,從Java環境搭建、工具使用、基礎語法開始
4 回答double取模結果為什么是4.0而不是4.4
3 回答double avg=sum/4.0;為什么這個結果是26.25,而不是26.0?
3 回答double avg=sum/4.0;結果是26.25?
3 回答double x=40/9;為什么運算結果是4.0啊
1 回答為什么把int換成double就是327了。
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-05-11
4.444是(m*8/(n+2))這個式子算出來的,%是指求余的算術運算符,而4.444%m也就是說4.444除以5后所取的余數,余數只有整數,同時你前面是用了double類型,所以顯示是4.0。
2016-03-23
我的問題就錯著呢,剛發現錯誤,算錯了
2016-03-23
前面的亂來。。。取余可以取浮點型,還有整除是什么鬼。。。
m,n都是int,返回int類型,結果相當于舍掉小數點后面是4,4賦值給double類型的x,自動轉換成4.0。。
(byte char short)這三個運算返回int型,?int<long< float<double 這幾個運算結果是往后看。。。
2016-03-22
因為類型不同,int類型相加,默認結果的類型也是int。所以從int轉換成double就會出現這樣的結果。
2016-03-22
%是整除
2016-03-22
double 類型的是浮點型的,但是取余取得的是整數類型。