带标签的 continue 与 break
                    目录
                    
                
                
            陈述
带标签的 break 和 continue 一般用于中断控制流程。
break :不带标签只会退出内部循环,带标签可以退出标签所在的那层循环。break相比continue来说,还可以用于跳出语句块!
continue:不带标签只会继续内部循环的下一次迭代,带标签可以继续标签所在的那层循环的下一次迭代。
验证
public class LoopWithLabel {
    public static void forLoop() {
        int a = 0;
        label: for (int i = 0; i < 100; i++) {
            for (int j = 0; j < 100; j++) {
                if (i == 10) {
                    break label;
                }
                a++;
            }
        }
        System.out.println(a);  // 理论上应该加了 10 * 100 次
    }
    public static void whileLoop() {
        int a = 0, i = 0;
        here: while (i < 100) {
            int j = 0;
            while (j < 100) {
                if (i == 10) {
                    i++;  // 没有它就会死循环,因为 i 一直是 10
                    continue here;
                }
                a++;
                j++;
            }
            i++;
        }
        System.out.println(a);  // 理论上应该加了 99 * 100 次
    }
    public static void main(String[] args) {
        forLoop();
        whileLoop();
    }
}
输出:
1000
9900
思考
由于,break相比continue来说,还可以用于跳出语句块,因此:
带标签的 break 可以用来实现 Python 里面的 while-else 语句。
Java允许在语句前加上标签前缀,构成标签(label)语句。其一般格式为:标识符:语句
public static void whileElse() {
  boolean[] visited = new boolean[10];
  visited[8] = true;
  int i = 0;
  // 检查,如果全都是 false 就输出检查通过,否则输出检查不通过
  label: {
    while (i < 10) {
      if (visited[i++]) {
        System.out.println("检查不通过!");
        break label;
      }
    }
    System.out.println("检查通过!");
  }
}
输出:
检查不通过!
结论
continue只能用于循环标签,也就是说这个标签必须标在循环语句上。
break能作用于任何语句标签,可以是普通语句块、循环等。