java中的 break continue return作用详解

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

如下代码:

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

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时没有执行打印操作,直接到下一次循环

扫描二维码关注公众号,回复: 4603952 查看本文章

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

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并没有打印出来

总结:

break和continue都是中断当前的循环(注意,循环是可以嵌套的,中断的只是当前层的循环)
break语句中断循环后跳转到循环后的语句标签执行(Before),
而continue则跳转到循环入口语句标签执行(After)

return 作用是,将函数调用栈弹栈,恢复现场。说的简单点儿就是结束当前的函数(顺便返回函数执行结果),回到本函数被调用处继续执行

猜你喜欢

转载自www.cnblogs.com/ttty/p/10160464.html