循环中continue/break+标签的用法
程序员文章站
2022-03-16 09:02:43
...
一.break和continue的区别和作用
break用于完全结束一个循环[一般只退出一重循环],跳出循环体执行循环后面的语句
continue是跳过当次循环中剩下的语句,执行下一次循环。
二.标签Label
标签提供了一种简单的break语句所不能实现的控制循环的方法,当在循环语句中碰到break时,
不管其它控制变量,都会终止。但是,当你嵌套在几层循环中想退出循环时又怎么办呢?break只退出一重循环, 但你可以用标号label标出你想退出哪一个语句。规定标号label必需放在循环之前(意味着循环前必需紧跟着标号).
简单来说,break,就是中断,不管你是在做什么,都是停的,continue就是说,跳过这一种情况,然后继续,就可以了,然后还有更奇葩的事,就是加上标签的唯一区别原来是从上一个中断或者跳出,但是现在是根据标签来跳出,或者中断,因此,根据标签页,不再根据上一个循环了.
三.代码示例
public static void main() {
//多层循环(三层)
int i = -1;
parent://设定最外层循环标签为parent
do {
System.out.println("{父循环");
son://设定第二层循环标签为son
while (true) {
i++;
System.out.println("\t{子循环i=" + i);
for (int k = 0; k < 3; k++) {
System.out.println("\t\t{孙循环 k=" + k);
if (i == 1) {
System.out.println("\t\ti==1:continue 孙循环");
continue;
}
if (i == 2) {
System.out.println("\t\ti==2:continue 子循环:son");
continue son;
}
if (i == 3) {
System.out.println("\t\ti==3:continue 父循环:parent");
continue parent;
}
if (i == 4) {
System.out.println("\t\ti==4:break 孙循环");
break;
}
if (i == 5) {
System.out.println("\t\ti==5:break 子循环:son");
break son;
}
if (i == 6) {
System.out.println("\t\ti==6:break 父循环:parent");
break parent;
}
System.out.println("\t\t孙循环}");
}
System.out.println("\t子循环}");
}
System.out.println("父循环}");
} while (true);
}
输出如下:
{父循环
{子循环i=0
{孙循环 k=0
孙循环}
{孙循环 k=1
孙循环}
{孙循环 k=2
孙循环}
子循环}
{子循环i=1
{孙循环 k=0
i==1:continue 孙循环
{孙循环 k=1
i==1:continue 孙循环
{孙循环 k=2
i==1:continue 孙循环
子循环}
{子循环i=2
{孙循环 k=0
i==2:continue 子循环:son
{子循环i=3
{孙循环 k=0
i==3:continue 父循环:parent
{父循环
{子循环i=4
{孙循环 k=0
i==4:break 孙循环
子循环}
{子循环i=5
{孙循环 k=0
i==5:break 子循环:son
父循环}
{父循环
{子循环i=6
{孙循环 k=0
i==6:break 父循环:parent
上一篇: PHP如何获取目录中的全部内容
下一篇: html怎么设置字体属性