在C语言中有方法叫goto,它可以实现源码级别的跳转,在JAVA中虽然也保留了goto这个关键字,但是名没有对其进行使用,然后我也可以可以利用lable标签通过break或continue进行制定位置的跳转。
package com.test;public class GoToTest { public static void main(String[] args) { //测试循环过程中使用lable跳出的顺序 int num = 0; System.out.println("outer 标记的位置"); // lable 标签,名字可以自己取 outer: while(true) { System.out.println("外层循环开始"); while(true) { num++; if(num == 2) { System.out.println("跳出本轮循环,continue"); continue; } if(num == 3) { System.out.println("跳转到标签位置,continue outer"); continue outer; } if(num == 4) { System.out.println("跳出本层循环 break"); break; } if(num == 6) { System.out.println("结束循环,跳出到最外层 break outer"); break outer; } System.out.println("循环次数:" + num); } } System.out.println("outer 循环结束"); }}
从输出结果可以看出
1:不带标签continue只是会中断本轮循环,进入下一轮循环
2:带标签的continue会中断本轮循环,并跳转到标签位置,并重新进入紧接着标签后面的循环
3:不带标签的break会中断循环,并跳出当前循环
4:带标签的break会中断循环并跳转到标签位置,但是不会重新进入紧接着标签后面的循环中。