Java中的break,continue关于标签的用法

java中的标签

Java的控制循环结构中是没有关键字goto的,这种做法有它的好处,它提高了程序流程控制的可读性,但是也有不好的地方,它降低了程序流程控制的灵活性,所以说,“上帝是公平的”。所以,Java为了弥补这方面的不足,Java提供了break和continue的标签用法。Java中的标签就是一个紧跟着“:”的标识符。与其他语言不通,Java语言的标签必须放在循环前面才有作用。下面就来看一些例子:

continue + 标签

public void continueLabelTest(){
     outer:
      for(int i = 0; i<5; i++){
          for(int j = 0; j<6; j++){
              if(j == 4){
                  continue outer;
              }
              System.out.println(j);
          }
          System.out.println("test");
      }
      System.out.println("finish");
  }

日志如下:

0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
0
1
2
3
finish

我们发现外层循环的test并不会打印,continue+标签,是重新开始外层循环

break + 标签

public void breakLabelTest() {
     outer:
     for (int i = 0; i < 3; i++) {
         for(int j = 0; j < 5; j++){
             if(j==4){
                 break outer;
             }
             System.out.println(j);
         }
         System.out.println("test");
     }
     System.out.println("finish");
 }

打印结果如下:

0
1
2
3
finish

我们可以看到会连同外循环一起break掉,所以"test"没有打印。

猜你喜欢

转载自blog.csdn.net/liu20111590/article/details/83152790