探讨break和continue语句的标签
程序员文章站
2022-07-12 12:51:24
...
程序1源代码如下:
public class BreakTest
{
public static void main(String[] args)
{
int a = 0;
outer:
System.out.println(a);
for(int i = 0; i < 6; i++)
{
if(i == a)
continue outer;
System.out.println(i);
}
}
}
图1
在编译时会报错,见图1所示,这是因为在Java中标签必须放在希望跳出的最外层循环之前,并且必须紧跟一个冒号。
程序2源代码如下:
public class BreakTest
{
public static void main(String[] args)
{
System.out.println("============带标签循环不嵌套============");
System.out.println("continue标签");
outer1:
for(int i = 0; i < 10; i++)
{
if(i == 5)
continue outer1;
System.out.println("inner1->" + i);
}
System.out.println("break标签");
outer2:
for(int i = 0; i < 10; i++)
{
if(i == 5)
break outer2;
System.out.println("inner2->" + i);
}
System.out.println("============不带标签循环不嵌套============");
System.out.println("continue");
for(int i = 0; i < 10; i++)
{
if(i == 5)
continue;
System.out.println(i);
}
System.out.println("break");
for(int i = 0; i < 10; i++)
{
if(i == 5)
break;
System.out.println(i);
}
}
}
图2
观察图2可知,在不嵌套的循环中使用带标签的break和continue与使用不带标签时效果是一样的。
程序3源代码如下:
public class BreakTest
{
public static void main(String[] args)
{
outer1:
for(int j = 0; j < 2; j++)
{
System.out.println("============带标签循环嵌套============");
System.out.println("break标签");
for(int i = 0; i < 10; i++)
{
if(i == 5)
break outer1;
System.out.println("inner1->" + i);
}
}
outer2:
for(int j = 0; j < 2; j++)
{
System.out.println("============带标签循环嵌套============");
System.out.println("continue标签");
for(int i = 0; i < 10; i++)
{
if(i == 5)
continue outer2;
System.out.println("inner2->" + i);
}
}
}
}
图3
观察图3可知,在嵌套的循环中使用带标签的break会直接跳出标签指定的循环体,使用带标签的continue会用来结束标签指定的循环体的当前循环,并进入下一次循环,即仅仅这一次循环结束了,不是所有循环结束了,后边的循环依旧进行。
总结:
1)不加标签时,continue和break作用于当前循环体,带标签时,作用于标签指定的循环体。
2)break:语句可以直接强行退出当前的循环,忽略循环体中任何其他语句和循环条件测试。
3)continue:语句用来结束当前循环,并进入下一次循环,即仅仅这一次循环结束了,不是所有循环结束了,后边的循环依旧进行。
上一篇: while循环中的break和continue的用法
下一篇: 3种转盘抽奖动画效果实现
推荐阅读
-
Python的for和break循环结构中使用else语句的技巧
-
Python跳出循环语句continue与break的区别
-
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
-
Python循环语句之break与continue的用法
-
Break语句和Continue语句
-
详谈for循环里面的break和continue语句
-
Python跳出循环语句continue与break的区别
-
Python3.5基础之变量、数据结构、条件和循环语句、break与continue语句实例详解
-
JavaScript 中的break、continue、return的用法和区别
-
Golang的循环中break和continue语句的用法讲解