欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

循环中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==1continue 孙循环
		{孙循环 k=1
		i==1continue 孙循环
		{孙循环 k=2
		i==1continue 孙循环
	子循环}
	{子循环i=2
		{孙循环 k=0
		i==2continue 子循环:son
	{子循环i=3
		{孙循环 k=0
		i==3continue 父循环:parent
{父循环
	{子循环i=4
		{孙循环 k=0
		i==4break 孙循环
	子循环}
	{子循环i=5
		{孙循环 k=0
		i==5break 子循环:son
父循环}
{父循环
	{子循环i=6
		{孙循环 k=0
		i==6break 父循环:parent
相关标签: 循环