課程
/后端開發(fā)
/Java
/Java入門第一季(IDEA工具)升級版
num/=10.0不應該是99.9 ? 9.99 ? ?0.999 ? 0.9999.....嗎,為什么不會死循環(huán)?
2016-04-12
源自:Java入門第一季(IDEA工具)升級版 4-15
正在回答
因為num的類型是int整形, 當除以10, 或者除以10.0, 結(jié)果都會強制轉(zhuǎn)換成int
也就是說num的變化是從最開始的999->99->9->0, 一共循環(huán)3次
可以在num/=10.0;的下面那行添加一個輸出測試語句, 如?System.out.println(num); 這樣會看到num的變化
林林林先森Louis 提問者
“num/=10.0不應該是99.9 ? 9.99 ? ?0.999 ? 0.9999.....嗎,為什么不會死循環(huán)?“ ??
針對你的問題 ?這里的/不是除法啊 ?而是取整 所以999->99->9->0
在num/10.0的語句中,你沒有強制轉(zhuǎn)換類型,num還是個整數(shù),而不是小數(shù),正如你提到的會進行取整,9.99會取整成為9,0.99會取整為0。
事實上沒有必要除以10.0啊,直接除以10不就可以嗎?
num/=10.0 應該是99,9,0 ? ?你在num/=10.0下面可以輸出num的當前值,這樣就知道了
因為num/=10,num的值在不斷改變
舉報
0基礎(chǔ)萌新入門第一課,從Java環(huán)境搭建、工具使用、基礎(chǔ)語法開始
1 回答請問為什么出現(xiàn)死循環(huán)?
3 回答死循環(huán)了。。。
4 回答為什么循環(huán)會斷掉?
6 回答為什么我這個會一直循環(huán)不停
2 回答求解是一個死循環(huán)
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-04-12
因為num的類型是int整形, 當除以10, 或者除以10.0, 結(jié)果都會強制轉(zhuǎn)換成int
也就是說num的變化是從最開始的999->99->9->0, 一共循環(huán)3次
可以在num/=10.0;的下面那行添加一個輸出測試語句, 如?System.out.println(num); 這樣會看到num的變化
2016-04-12
“num/=10.0不應該是99.9 ? 9.99 ? ?0.999 ? 0.9999.....嗎,為什么不會死循環(huán)?“ ??
針對你的問題 ?這里的/不是除法啊 ?而是取整 所以999->99->9->0
2016-04-12
在num/10.0的語句中,你沒有強制轉(zhuǎn)換類型,num還是個整數(shù),而不是小數(shù),正如你提到的會進行取整,9.99會取整成為9,0.99會取整為0。
事實上沒有必要除以10.0啊,直接除以10不就可以嗎?
2016-04-12
num/=10.0 應該是99,9,0 ? ?你在num/=10.0下面可以輸出num的當前值,這樣就知道了
2016-04-12
因為num/=10,num的值在不斷改變