java - 為什么這個循環(huán)我跳不出來?
問題描述
1.問題描述:一直死循環(huán),反復打印,直到出錯
2.相關(guān)代碼
int[] Aarray = new int[]{2,4,5,6,2};int[] Barray = new int[]{3,6,2,4,6};for (int i = 0 ;i < 10 ;i ++ ){ if (i < 5) {System.out.print(Aarray[i] + 't'); }else { i -= 5;System.out.print(Barray[i] + 't'); }}


問題解答
回答1:當i = 1, 2, 3, 4 不說了,打印1 2 3 4當i = 5時進入else語句塊i -= 5 即為 i = i-5 結(jié)果是i = 0吧,然后i++
然后i又從1 開始循環(huán)。for循環(huán)的終止條件 i < 10永遠不能終止
回答2:跳出來就有鬼了。。。。
回答3:i -= 5; 是不是寫錯了。
每次循環(huán)時,i++ 把 i 加 1,但是 i -= 5; 又把 i 減 5。
回答4:i=5時,if不成立,進入else,做完 i -= 5; 結(jié)果就是 i=0;然后出else,i++之后,i=1;又進入if...當i=5時...
回答5:簡單,你把程序自己腦子里走一遍就清楚了啊,一開始i=0,小于5,輸出,然后i++到1,繼續(xù)小于5,在輸出,一直這樣直到i=5,然后i<5不成立,就走else那個分支,i-=5;i又小于0了,然后又開始進入下一次循環(huán)像開頭那樣,所以出現(xiàn)無限死循環(huán)
回答6:你把i每個值的情況都看一下就一目了然了,在i>5的時候,i就進入了else,這個時候i又變成了0,也就是說i永遠到不了i>10這個終止循環(huán)的條件
回答7:邏輯錯了,加到6后,又減去5,回到1,然后又每次加1,加到6之后,又減去5,回到1,不斷地循環(huán)。
回答8:邏輯有問題 無限死循環(huán)
回答9:這種問題建議先找個入門書或者入門視頻看10分鐘
相關(guān)文章:
1. docker綁定了nginx端口 外部訪問不到2. 前端 - html5 audio不能播放3. javascript - 最近用echarts做統(tǒng)計圖時遇到兩個問題!!4. javascript - 深夜被問題困擾求解惑,rn的API之PermissionsAndroidd的問題5. mysql - 我的myeclipse一直連顯示數(shù)據(jù)庫連接失敗,不知道為什么6. redis sentinel怎么跑守護進程以及日志記錄位置的?7. android權(quán)限被第三方安全軟件禁止,如何獲取該權(quán)限狀態(tài)8. android - 優(yōu)酷的安卓及蘋果app還在使用flash技術(shù)嗎?9. 利用百度地圖API定位及附件商家信息服務10. nginx - ssl加密訪問證書不受信任

網(wǎng)公網(wǎng)安備