java中是否有一个标记跳过了for循环的其余部分?类似VB的Continue in java。
问问题
298925 次
6 回答
390
continue;
continue;
关键字将在调用时开始下一次迭代
例如
for(int i= 0 ; i < 5; i++){
if(i==2){
continue;
}
System.out.print(i);
}
这将打印
0134
看
于 2012-06-22T17:10:16.560 回答
66
试试这个,
如果要跳过特定迭代,请使用
continue
.如果要跳出立即循环,请使用
break
如果有 2 个循环,外部和内部......并且您想从内部循环中跳出两个循环,请使用 break with label(关于 label 的另一个问题)。
例子:
继续
for(int i=0 ; i<5 ; i++){
if (i==2){
continue;
}
}
休息
for(int i=0 ; i<5 ; i++){
if (i==2){
break;
}
}
打破标签
lab1: for(int j=0 ; j<5 ; j++){
for(int i=0 ; i<5 ; i++){
if (i==2){
break lab1;
}
}
}
于 2012-06-22T17:12:40.400 回答
43
如果要跳过当前迭代,请使用continue;
.
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;
}
}
}
*请注意,在这种情况下,您不是在代码中标记要跳转到的点,而是在标记循环!所以在 break 之后,代码将在循环之后继续!
当您需要在嵌套循环中跳过一次迭代时,请使用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;
}
}
}
于 2013-10-25T20:58:01.130 回答
10
正如所有其他答案中提到的,关键字continue
将跳到当前迭代的末尾。
此外,您可以标记循环开始,然后使用continue [labelname];
orbreak [labelname];
来控制嵌套循环中发生的事情:
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();
}
于 2012-06-22T17:21:04.280 回答
3
使用continue
关键字。在这里阅读。
continue 语句跳过 for、while 或 do-while 循环的当前迭代。
于 2012-06-22T17:10:54.927 回答
1
于 2012-06-22T17:12:14.973 回答