首页 > Java > java中的"goto"——label,可直接跳出多重循环
2019
01-02

java中的"goto"——label,可直接跳出多重循环

java中没有goto,但是goto是保留字。例如int goto;是不合法的。

但是java中有标签,仅作用在多重循环的continue和break中。

continue和break只能作用于本层循环,但是有了标签可以直接跳出多重循环。

代码举例:

public class Main {
    public static void main(String[] args) {
        first: // 标签与循环直接不可以加语句
        for (int i = 0; i < 3; ++i) {
            System.out.println("\nfirst: " + (i + 1) + " times start");
            second:
            for (int j = 0; j < 2; ++j) {
                System.out.println("\tsecond: " + (j + 1) + " times start");
                if (i == 1 && j == 1) {
                    System.out.println("\t----break----");
                    break;
                }
                for (int k = 0; k < 2; ++k) {
                    System.out.println("\t\tthird: " + (k + 1) + " times start");
                    if (i == 1 && j == 0 && k == 0) {
                        System.out.println("\t\t----continue----");
                        continue;
                    }
                    if (i == 2 && j == 0) {
                        System.out.println("\t\t----continue second----");
                        continue second;
                    }
                    if (i == 2 && j == 1 && k == 1) {
                        System.out.println("\t\t----break first----");
                        break first;
                    }
                    System.out.println("\t\tthird: " + (k + 1) + " times end");
                }
                System.out.println("\tsecond: " + (j + 1) + " times end");
            }
            System.out.println("first: " + (i + 1) + " times end");
        }
    }
}

 输出:

first: 1 times start
    second: 1 times start
        third: 1 times start
        third: 1 times end
        third: 2 times start
        third: 2 times end
    second: 1 times end
    second: 2 times start
        third: 1 times start
        third: 1 times end
        third: 2 times start
        third: 2 times end
    second: 2 times end
first: 1 times end
 
first: 2 times start
    second: 1 times start
        third: 1 times start
        ----continue----
        third: 2 times start
        third: 2 times end
    second: 1 times end
    second: 2 times start
    ----break----
first: 2 times end
 
first: 3 times start
    second: 1 times start
        third: 1 times start
        ----continue second----
    second: 2 times start
        third: 1 times start
        third: 1 times end
        third: 2 times start
        ----break first----

参考链接:https://www.cnblogs.com/wenruo/p/5327402.html

本文》有 0 条评论

留下一个回复