java - 為什么這個(gè)循環(huán)我跳不出來(lái)?
問(wèn)題描述
1.問(wèn)題描述:一直死循環(huán),反復(fù)打印,直到出錯(cuò)
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'); }}
問(wèn)題解答
回答1:當(dāng)i = 1, 2, 3, 4 不說(shuō)了,打印1 2 3 4當(dāng)i = 5時(shí)進(jìn)入else語(yǔ)句塊i -= 5 即為 i = i-5 結(jié)果是i = 0吧,然后i++
然后i又從1 開(kāi)始循環(huán)。for循環(huán)的終止條件 i < 10永遠(yuǎn)不能終止
回答2:跳出來(lái)就有鬼了。。。。
回答3:i -= 5; 是不是寫(xiě)錯(cuò)了。
每次循環(huán)時(shí),i++ 把 i 加 1,但是 i -= 5; 又把 i 減 5。
回答4:i=5時(shí),if不成立,進(jìn)入else,做完 i -= 5; 結(jié)果就是 i=0;然后出else,i++之后,i=1;又進(jìn)入if...當(dāng)i=5時(shí)...
回答5:簡(jiǎn)單,你把程序自己腦子里走一遍就清楚了啊,一開(kāi)始i=0,小于5,輸出,然后i++到1,繼續(xù)小于5,在輸出,一直這樣直到i=5,然后i<5不成立,就走else那個(gè)分支,i-=5;i又小于0了,然后又開(kāi)始進(jìn)入下一次循環(huán)像開(kāi)頭那樣,所以出現(xiàn)無(wú)限死循環(huán)
回答6:你把i每個(gè)值的情況都看一下就一目了然了,在i>5的時(shí)候,i就進(jìn)入了else,這個(gè)時(shí)候i又變成了0,也就是說(shuō)i永遠(yuǎn)到不了i>10這個(gè)終止循環(huán)的條件
回答7:邏輯錯(cuò)了,加到6后,又減去5,回到1,然后又每次加1,加到6之后,又減去5,回到1,不斷地循環(huán)。
回答8:邏輯有問(wèn)題 無(wú)限死循環(huán)
回答9:這種問(wèn)題建議先找個(gè)入門(mén)書(shū)或者入門(mén)視頻看10分鐘
相關(guān)文章:
1. javascript - 奇怪的Symbol的問(wèn)題2. angular.js - angular ng-class里面的引號(hào)問(wèn)題3. docker - 如何修改運(yùn)行中容器的配置4. javascript - 有沒(méi)有什么好的圖片懶加載的插件,需要包含監(jiān)聽(tīng)頁(yè)面滾動(dòng)高度,然后再加載的功能5. javascript - history.replaceState()無(wú)法改變query參數(shù)6. 網(wǎng)頁(yè)爬蟲(chóng) - 用Python3的requests庫(kù)模擬登陸B(tài)ilibili總是提示驗(yàn)證碼錯(cuò)誤怎么辦?7. mysql無(wú)法添加外鍵8. matplotlib - python函數(shù)的問(wèn)題9. javascript - vue過(guò)渡效果 css過(guò)渡 類名的先后順序10. javascript - es6將類數(shù)組轉(zhuǎn)化成數(shù)組的問(wèn)題
