11 回答

Goddess_chkx
TA貢獻15條經驗 獲得超30個贊
忘了從哪兒看到的話,覺得很經典,分享給你。循環就像跑圈,當你跑到中途時,遇到了break,就退場,再也不跑了。當你跑到中途時,遇到了continue,就返回起點,開始跑下一圈。

劍術趨于化境
TA貢獻3條經驗 獲得超7個贊
public?class?TestContinue?{ public?static?void?main(String[]?args)?{ int?i=1; for(i=1;i<5;i++){ // continue;?????????//這里不能放,后面有操作。我也不知道為什么后面有操作,就不能放。 System.out.println("打印操作,此時i="+i); // continue;?????????????//這里也不能放,后面有if之類的操作。 if(i==3){ System.out.println("打印操作,此時i="+i); ?????System.out.println("把下面的continue和增加空行注釋掉,再看看continue的作用"); System.out.println(""); continue;??????????//看流程圖。 } if(i==3){ // continue;??????????//同理,后面有操作 System.out.println("執行第二個if打印操作,此時i="+i); // continue;??????????//這里可以放,先注釋掉 }else{ System.out.println("打印操作,此時i="+i); // continue;??????????//這里可以放,先注釋掉 } System.out.println("打印操作,此時i="+i); System.out.println("");?//增加一個空行 continue;//此處continue可以省略,也可以不省略 } System.out.println(i); } }
這是流程圖:

不斯文敗類
TA貢獻3條經驗 獲得超5個贊
首先continue是for里才有的不是if()else()的。continue的作用有點像break。
區別是break是整個循環結束,而continue是結束當前本輪循環。
就是說循環里的continue以下的代碼不執行,直接執行到for()的第三個參數執行。例如下面的代碼:
for(int?i?=?0;?i<10;i++){ ????if(?i?%?2?==?0){ ????????contiue; ????} ????else{ ????????System.out.print(i+"?"); ????} }
這樣可以打印出10以內的所有奇數(1 ?3 ?5 ?7 ?9)。
當i為偶數時執行continue,直接就去到for(int i = 0; i<10; i++)里面的i++語句,然后進行下一輪的循環。
如果這里換成break,當i為偶數時直接執行break,整個循環結束,什么都不輸出(因為i初始為0)。

ziom
TA貢獻948條經驗 獲得超1109個贊
只有當if else處于一個循環中時,其中的continue才有意義,否則會直接報編譯錯誤,因為continue是用于循環的,用處是終止本次循環,進入下一次循環。
添加回答
舉報
0/150
提交
取消