首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >中断Java中的for循环

中断Java中的for循环
EN

Stack Overflow用户
提问于 2013-03-07 23:33:41
回答 4查看 365.2K关注 0票数 77

在我的代码中,我有一个for循环,它遍历代码的方法,直到它满足for条件。

有没有办法打破这个for循环?

所以,如果我们看一下下面的代码,当我们到达"15“时,如果我们想要跳出这个for循环怎么办?

代码语言:javascript
复制
public class Test {

   public static void main(String args[]) {

      for(int x = 10; x < 20; x = x+1) {
         System.out.print("value of x : " + x );
         System.out.print("\n");
      }
   }
}

Outputs:

value of x : 10
value of x : 11
value of x : 12
value of x : 13
value of x : 14
value of x : 15
value of x : 16
value of x : 17
value of x : 18
value of x : 19

我已经尝试了以下几种方法,但都没有用:

代码语言:javascript
复制
public class Test {

   public static void main(String args[]) {
      boolean breakLoop = false;
      while (!breakLoop) {
          for(int x = 10; x < 20; x = x+1) {
             System.out.print("value of x : " + x );
             System.out.print("\n");
          if (x = 15) {
              breakLoop = true;
          }
          }
      }
   }
}

我尝试了一个循环:

代码语言:javascript
复制
public class Test {

   public static void main(String args[]) {
      breakLoop:
          for(int x = 10; x < 20; x = x+1) {
             System.out.print("value of x : " + x );
             System.out.print("\n");
             if (x = 15) {
                 break breakLoop;
             }
      }
   }
}

我想要实现的唯一方法就是打破for循环,暂时不能替代它,do,if等语句。

编辑:

这只是一个例子,这不是我想要实现的代码。我现在已经通过在每个循环初始化的地方放置多个IF语句解决了这个问题。之前,由于缺少中断,它只会跳出循环的一部分;

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-03-07 23:34:46

您需要使用break;来打破任何循环语句,如forwhiledo-while

在你的例子中,它将是这样的:

代码语言:javascript
复制
for(int x = 10; x < 20; x++) {
         // The below condition can be present before or after your sysouts, depending on your needs.
         if(x == 15){
             break; // A unlabeled break is enough. You don't need a labeled break here.
         }
         System.out.print("value of x : " + x );
         System.out.print("\n");
}
票数 177
EN

Stack Overflow用户

发布于 2013-03-08 00:11:23

如果由于某种原因你不想使用break指令(例如,如果你认为它会在你下次阅读程序时打乱你的阅读流程),你可以尝试以下方法:

代码语言:javascript
复制
boolean test = true;
for (int i = 0; i < 1220 && test; i++) {
    System.out.println(i);
    if (i == 20) {
        test = false;
    }
 }

for循环的第二个参数是一个布尔测试。如果测试结果为真,则循环将停止。如果你愿意,你可以使用比简单的数学测试更多的东西。否则,就像其他人说的那样,简单的休息也能起到作用:

代码语言:javascript
复制
for (int i = 0; i < 1220 ; i++) {
    System.out.println(i);
    if (i == 20) {
        break;
    }
 }
票数 20
EN

Stack Overflow用户

发布于 2013-03-07 23:35:09

您可以使用:

代码语言:javascript
复制
for (int x = 0; x < 10; x++) {
  if (x == 5) { // If x is 5, then break it.
    break;
  }
}
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15275195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档