for循环里的break,continue和return有什么差别

break: 此语句导致程序终止包含它的循环,并进行程序的下一阶段(整个循环后面的语句),即,不是跳到下一个循环周期而是退出循环。如果break语句包含在嵌套循环里,它只跳出最里面的循环。

如下代码

1

2

3

4

5

6

7

8

9

10

public class Test {

    public static void main(String[] args) {

        for(int i=0; i<10; i++){

            if(i==5){

                break;

            }

            System.out.print(i+" ");

        }

    }

}

可以看到程序输出了01234到5的时候跳出了循环

 

 

continue:循环语句里有此语句时,程序运行到此语句时,不在执行循环体里continue后面的语句而是跳到下一个循环入口处执行下一个循环。

把break改为continue

1

2

3

4

5

6

7

8

9

10

public class Test {

    public static void main(String[] args) {

        for(int i=0; i<10; i++){

            if(i==5){

                continue;

            }

            System.out.print(i+" ");

        }

    }

}

 

可以看到只有5没有输出,也即当i=5时没有执行打印操作,直接到下一次循环

 

而return是表示从被调函数返回到主调函数继续执行,返回时可附带一个返回值,由return后面的参数指定。return后函数就结束了,后面的语句不再执行

1

2

3

4

5

6

7

8

9

10

11

12

13

14

public class Test {

    public static void fun(){

        for(int i=0; i<10; i++){

            if(i==5){

                return;

            }

            System.out.print(i+" ");

        }

        System.out.println("hello");

    }

    public static void main(String[] args) {

        fun();

    }

}

 

可以看到后面的hello并没有打印出来

posted @ 2019-09-28 14:29  程序员宝典  阅读(19364)  评论(0编辑  收藏  举报