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

2022-08-31 12:58:24

在我的代码中,我有一个 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 语句放在每个循环初始化的位置后来解决此问题。在它由于缺乏中断而从循环的一部分跳出之前;


答案 1

break;是您需要从任何循环语句(如 、 或 ) 中分离出来的内容。forwhiledo-while

在你的情况下,它会像这样:-

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

答案 2

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

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

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

for (int i = 0; i < 1220 ; i++) {
    System.out.println(i);
    if (i == 20) {
        break;
    }
 }

推荐