在Java中打破for循环[关闭]

问题描述 投票:57回答:5

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

反正有没有摆脱这个for循环?

因此,如果我们查看下面的代码,如果我们想要在“15”时打破这个for循环怎么办?

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

我试过以下无济于事:

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;
          }
          }
      }
   }
}

我试过一个循环:

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循环,我不能替代它一段时间,如果是等语句,那么。

编辑:

这只是作为一个例子提供的,这不是我试图将其实现的代码。我现在通过在每个循环初始化之后放置多个IF语句来解决问题。之前由于没有休息,它会跳出循环的一部分;

java loops for-loop break
5个回答
145
投票

qazxsw poi是你需要打破任何循环语句,如qazxsw poi,qazxsw poi或break;

在你的情况下,它将是这样的: -

for

17
投票

您可以使用:

while

16
投票

如果由于某种原因您不想使用中断指令(例如,如果您认为它会在下次读取您的程序时中断读取流程),您可以尝试以下操作:

do-while

for循环的第二个arg是布尔测试。如果测试结果为真,则循环将停止。如果您愿意,您可以使用的不仅仅是简单的数学测试。否则,一个简单的休息也会成功,正如其他人所说:

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");
}

6
投票

怎么样

for (int x = 0; x < 10; x++) {
  if (x == 5) { // If x is 5, then break it.
    break;
  }
}

另一种方式是标记循环

boolean test = true;
for (int i = 0; i < 1220 && test; i++) {
    System.out.println(i);
    if (i == 20) {
        test = false;
    }
 }

要获得更好的解释,您可以查看for (int i = 0; i < 1220 ; i++) { System.out.println(i); if (i == 20) { break; } }


3
投票
for (int k = 0; k < 10; k = k + 2) {
    if (k == 2) {
        break;
    }

    System.out.println(k);
}
© www.soinside.com 2019 - 2024. All rights reserved.