【Java SE】八、流程控制

在 Java 中,保留了 C/C++ 中的 goto 语句的特性,推出了带标签的 break 和 countine 语句,略有不同,在此记录。

带标签的 break

带标签的 break 语句通常用于多层循环嵌套中,在某一个循环前面加一个标签,如 outer: ,在需要退出循环的时候就可以直接用break + 标签; 跳出多层循环到标签处,并且不会再次进入到刚才的循环中

public class Test {
	public static void main(String[] args) {
		outer: // 这里是标签,跳转到这里,且不会再进入下面的循环
		for (int i = 1; i < 3; i++) {
			for (int j = 1; j < 3; j++) {
				for (int t = 1; t < 3; t++) {
					System.out.println("假期加油 " + t);
					break outer; // break + 标签
				}
			}
		}
		System.out.println("输出结束");
	}
}

运行结果如下:

假期加油 1
输出结束

带标签的 countine

带标签的 countine 语句用法与 break 一样。不同的是,跳转到标签处后,它会结束标签后面的当次循环,继续执行下一次循环

public class Test {
	public static void main(String[] args) {
		label: // 这里是标签,跳转到这里,并结束下面的当次循环,继续执行下一次循环
        for (int i = 0; i < 3; ++i) {
            for (int j = 0; j < 3; ++j) {
                if (j == 2) {continue label;} // countine + 标签
            	System.out.println(i + ", " + j);
            }
        }
	}
}

运行结果如下:

0, 0
0, 1
1, 0
1, 1
2, 0
2, 1