Java中For循环中的GoTo Next迭代

Posted

技术标签:

【中文标题】Java中For循环中的GoTo Next迭代【英文标题】:GoTo Next Iteration in For Loop in java 【发布时间】:2012-06-25 00:47:43 【问题描述】:

java 中是否有一个标记跳过了 for 循环的其余部分? java中的VB's Continue之类的东西。

【问题讨论】:

【参考方案1】:
continue;

continue; 关键字将在调用时开始下一次迭代

举例

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

这将打印出来

0134

Document

【讨论】:

break 将跳过循环:) “break”关键字会终止循环。【参考方案2】:

试试这个,

    如果您想跳过特定的迭代,请使用continue

    如果您想跳出立即循环,请使用break

    如果有 2 个循环,即外部循环和内部循环......并且您想从内部循环中跳出两个循环,请使用 break 和 label (another question about 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;
        
     
  
     

【讨论】:

还有continue with label。【参考方案3】:

如果您想跳过当前迭代,请使用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;
        
     
  

【讨论】:

【参考方案4】:

正如所有其他答案中提到的,关键字continue 将跳到当前迭代的末尾。

此外,您可以标记循环开始,然后使用continue [labelname];break [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();

【讨论】:

【参考方案5】:

使用continue 关键字。阅读here。

continue 语句跳过 for、while 或 do-while 循环的当前迭代。

【讨论】:

【参考方案6】:

使用continue关键字。

前:

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

【讨论】:

以上是关于Java中For循环中的GoTo Next迭代的主要内容,如果未能解决你的问题,请参考以下文章

for 循环中的 try-except 块跳过 NEXT 迭代?

Python中的迭代器与可迭代:iter()和next()

java之Iterator迭代器 增强for循环

如果if条件满足,如何跳转到for循环中的特定位置?

遍历一个可迭代对象中的所有元素,但是却不想使用for循环

转到基于范围的 for 循环中的下一个迭代器