2012-06-22 57 views

回答

252
continue; 

continue;關鍵字會在調用時

開始下一個迭代例子

for(int i= 0 ; i < 5; i++){ 
if(i==2){ 
    continue; 
} 
System.out.print(i); 
} 

這將打印

0134 

+1

和'break'將跳過循環:) –

+11

相反'break'關鍵字會終止循環。 – Max

3

使用continue關鍵字。閱讀here

continue語句跳過for,while或do-while循環的當前迭代。

0

使用continue關鍵字。

EX:

for(int i = 0; i < 10; i++){ 
    if(i == 5){ 
    continue; 
    } 
} 
+1

_keyworld_? o_O –

+0

ohh sry和謝謝.. :) –

40

試試這個,

1. If you want to skip a particular iteration, use continue.

2. If you want to break out of the immediate loop use break

3 If there are 2 loop, outer and inner.... and you want to break out of both the loop fromthe inner loop, use break with label.

例如:

繼續

for(int i=0 ; i<5 ; i++){ 

    if (i==2){ 

     continue; 
    } 
} 

如:

休息

for(int i=0 ; i<5 ; i++){ 

     if (i==2){ 

      break; 
     } 
    } 

如:

以L突破阿貝爾

lab1: for(int j=0 ; j<5 ; j++){ 
    for(int i=0 ; i<5 ; i++){ 

     if (i==2){ 

      break lab1; 
     } 
    } 
    } 
+5

還有繼續與標籤。 – Carcamano

8

正如所有其他的答案中提到,關鍵字continue將跳至當前迭代結束。如果你想跳過當前迭代,使用continue;

loop1: for (int i = 1; i < 10; i++) { 
    loop2: for (int j = 1; j < 10; j++) { 
     if (i + j == 10) 
      continue loop1; 

     System.out.print(j); 
    } 
    System.out.println(); 
} 
27

另外,你可以標記你的循環開始,然後使用continue [labelname];break [labelname];控制發生了什麼事在嵌套循環。

for(int i = 0; i < 5; i++){ 
    if (i == 2){ 
     continue; 
    } 
} 

需要打破了整個循環的?使用break;

for(int i = 0; i < 5; i++){ 
    if (i == 2){ 
     break; 
    } 
} 

如果你需要打出來的一個以上的循環使用break someLabel;

outerLoop:           // Label the loop 
for(int j = 0; j < 5; j++){ 
    for(int i = 0; i < 5; i++){ 
     if (i==2){ 
      break outerLoop; 
     } 
    } 
    } 

*請注意,在這種情況下,你是不是標誌着一個點在代碼中跳轉到,你正在標記循環!所以在休息之後,代碼將在循環之後繼續!

當您需要在嵌套循環中跳過一個迭代時使用continue someLabel;,但您也可以將它們全部組合起來。

outerLoop: 
for(int j = 0; j < 10; j++){ 
    innerLoop: 
    for(int i = 0; i < 10; i++){ 
     if (i + j == 2){ 
      continue innerLoop; 
     } 
     if (i + j == 4){ 
      continue outerLoop; 
     } 
     if (i + j == 6){ 
      break innerLoop; 
     } 
     if (i + j == 8){ 
      break outerLoop; 
     } 
    } 
    }