java控制循环结构

java提供了3种跳出循环的方法:break,continue和return

1 break

public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            System.out.println("第一个循环"+i);
            for (int j = 0; j < 5; j++) {
                if(j==2){
                    break;
                }
                System.out.println("第二个循环"+j);
            }
        }
    }

结果为:

第一个循环0第二个循环0第二个循环1

第一个循环1第二个循环0第二个循环1

第一个循环2第二个循环0第二个循环1

第一个循环3第二个循环0第二个循环1

第一个循环4第二个循环0第二个循环1

由此可见:break只是跳出了第二层循环,并没有跳出第一层循环

public static void main(String[] args) {
        return_black:
        for (int i = 0; i < 5; i++) {
            System.out.println("第一个循环"+i);
            for (int j = 0; j < 5; j++) {
                if(j==2){
                    break return_black;
                }
                System.out.print("第二个循环"+j);
            }
        }
    }

结果为:第一个循环0第二个循环0第二个循环1

由此可见:break加了标签跳出了标签所在的循环层

2 continue

public static void main(String[] args) {
        for (int i = 0; i < 5; i++) {
            System.out.println("第一个循环"+i);
            for (int j = 0; j < 5; j++) {
                if(j==2){
                    continue;
                }
                System.out.print("第二个循环"+j);
            }
        }
    }

结果为:

第一个循环0第二个循环0第二个循环1第二个循环3第二个循环4

第一个循环1第二个循环0第二个循环1第二个循环3第二个循环4

第一个循环2第二个循环0第二个循环1第二个循环3第二个循环4

第一个循环3第二个循环0第二个循环1第二个循环3第二个循环4

第一个循环4第二个循环0第二个循环1第二个循环3第二个循环4

由此可见:continue只是终止了本次循环不会跳出第二层的循环体,更不会跳出第一层的循环体了。

public static void main(String[] args) {
        return_black:
        for (int i = 0; i < 5; i++) {
            System.out.println("第一个循环"+i);
            for (int j = 0; j < 5; j++) {
                if(j==2){
                    continue return_black;
                }
                System.out.print("第二个循环"+j);
            }
        }
    }

结果为:第一个循环0第二个循环0第二个循环1

第一个循环1第二个循环0第二个循环1

第一个循环2第二个循环0第二个循环1

第一个循环3第二个循环0第二个循环1

第一个循环4第二个循环0第二个循环1

由此可见:continue加标签跳出到标签所在的那层循环继续执行

猜你喜欢

转载自liqing0110.iteye.com/blog/2256930