java的break跳出多层循环

  • Post category:other

在Java中,可以使用break语句跳出循环。但是,如果有多层循环嵌套,如何跳出所有循环呢?下面是一些方法:

方法一:使用标签

可以使用标签来标识外层循环,然后在内层循环中使用break语句跳出外层循环。例如:

outer:
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        if (i == 5 && j == 5) {
            break outer;
        }
        System.out.println("i=" + i + ", j=" + j);
    }
}

上述代码中,outer是一个标签,用于标识外层循环。当i等于5且j等于5时,使用break outer语句跳出外层循环。

方法二:使用布尔变量

可以使用一个布尔变量来标识是否跳出所有循环。例如:

boolean isBreak = false;
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        if (i == 5 && j == 5) {
            isBreak = true;
            break;
        }
        System.out.println("i=" + i + ", j=" + j);
    }
    if (isBreak) {
        break;
    }
}

上述代码中,使用一个布尔变量isBreak来标识是否跳出所有循环。当i等于5且j等于5时,将isBreak设置为true,然后在外层循环中判断isBreak是否为true,如果是,则跳出所有循环。

示例一

下面是一个示例,使用标签来跳出多层循环:

outer:
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        for (int k = 0; k < 10; k++) {
            if (i == 5 && j == 5 && k == 5) {
                break outer;
            }
            System.out.println("i=" + i + ", j=" + j + ", k=" + k);
        }
    }
}

上述代码中,使用标签outer来标识外层循环。当i等于5且j等于5且k等于5时,使用break outer语句跳出所有循环。

示例二

下面是另一个示例,使用布尔变量来跳出多层循环:

boolean isBreak = false;
for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
        for (int k = 0; k < 10; k++) {
            if (i == 5 && j == 5 && k == 5) {
                isBreak = true;
                break;
            }
            System.out.println("i=" + i + ", j=" + j + ", k=" + k);
        }
        if (isBreak) {
            break;
        }
    }
    if (isBreak) {
        break;
    }
}

上述代码中,使用一个布尔变量isBreak来标识是否跳出所有循环。当i等于5且j等于5且k等于5时,将isBreak设置为true,然后在内层循环和外层循环中判断isBreak是否为true,如果是,则跳出所有循环。