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

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

為什么不會死循環?

http://img1.sycdn.imooc.com//570cd81300018da307610620.jpgnum/=10.0不應該是99.9 ? 9.99 ? ?0.999 ? 0.9999.....嗎,為什么不會死循環?

正在回答

5 回答

因為num的類型是int整形, 當除以10, 或者除以10.0, 結果都會強制轉換成int

也就是說num的變化是從最開始的999->99->9->0, 一共循環3次

可以在num/=10.0;的下面那行添加一個輸出測試語句, 如?System.out.println(num); 這樣會看到num的變化

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

林林林先森Louis 提問者

非常感謝!
2016-04-12 回復 有任何疑惑可以回復我~

“num/=10.0不應該是99.9 ? 9.99 ? ?0.999 ? 0.9999.....嗎,為什么不會死循環?“ ??

針對你的問題 ?這里的/不是除法啊 ?而是取整 所以999->99->9->0

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

在num/10.0的語句中,你沒有強制轉換類型,num還是個整數,而不是小數,正如你提到的會進行取整,9.99會取整成為9,0.99會取整為0。

事實上沒有必要除以10.0啊,直接除以10不就可以嗎?

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

num/=10.0 應該是99,9,0 ? ?你在num/=10.0下面可以輸出num的當前值,這樣就知道了

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

因為num/=10,num的值在不斷改變

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

舉報

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

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

進入課程

為什么不會死循環?

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

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

幫助反饋 APP下載

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

公眾號

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