在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 循环结束");
}
}
image.png
从输出结果可以看出
1:不带标签continue只是会中断本轮循环,进入下一轮循环
2:带标签的continue会中断本轮循环,并跳转到标签位置,并重新进入紧接着标签后面的循环
3:不带标签的break会中断循环,并跳出当前循环
4:带标签的break会中断循环并跳转到标签位置,但是不会重新进入紧接着标签后面的循环中。
网友评论