2012-06-22 37 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; 
     } 
    } 
    }