华清远见重庆中心-JAVA基础阶段总结

关于程序中的 retur break和continue的易错点和误区;

在这一周的学习当中,我经常会用到循环这一方面的问题了,既然遇到了循环,就不可避免的遇见了 return ,和break的问题 ,因为这俩个东西都有跳出循环的功能,但是在不同的场景下,又有着不同的功效1,

1,我首先去查了查百度对return和break的功效,定义:

1、break:执行break操作,跳出所在的当前整个循环,到外层代码继续执行。

2、continue:执行continue操作,跳出本次循环,从下一个迭代继续运行循环,内层循环执行完毕,外层代码继续运行。

3、return:执行return操作,直接返回函数,所有该函数体内的代码(包括循环体)都不会再执行。

二、结束不同

1、break:break不仅可以结束其所在的循环,还可结束其外层循环,但一次只能结束一种循环。

2、continue:continue结束的是本次循环,将接着开始下一次循环。

3、return:return同时结束其所在的循环和其外层循环。

三、紧跟不同

1、break:需要在break后紧跟一个标签,这个标签用于标识哪个外层循环。

2、continue:在continue后不需要加参数。

3、return:在return后需要紧跟一个返回值,用于提供给对应方法所需的返回值。

但是我发现这样理解这三者,还是有点生涩难懂,于是我去查了一查CSDN大佬的博客,

1、switch中return和break的作用是不一样的。

break是直接退出switch语句,如果循环里面有switch语句,这时候break语句只是跳出switch语句,作用不到循环体,return是退出该函数,也就是switch语句块后面的语句也不执行了。

2、使用break和return结束循环
break用于结束一个循环,即跳出循环体,执行循环体之后的代码。但是只能结束最靠近的那一层循环。
return关键字不是专门用于结束循环,return的功能是结束一个方法。当一个方法遇到return语句时,这个方法将被结束。方法结束 ,执行权回到方法调用处。

总结;,总的来说,return,能结束当前循环,和其外层循环,而break 只可以结束一层循环;

而continue 而是结束本次循环,并不影响下一次的循环,

然后这些在具体的代码当中有其他情况,例如Switch;

所以我具体的去对这几类打了一下代码

public class AA {

    public static void main(String args[]) {
        for (int j=1;j<=2;j++)
        {


        for (int i=1;i<5;i++)
            {
            System.out.println("1");
            if(i==3) {
                System.out.println("2循环内");
                break;
                    }

            }
            System.out.println("一层循环");
         }
        System.out.println("最外");
    }
 }

1
1
1
2循环内
一层循环
1
1
1
2循环内
一层循环
最外

可以看出,当执行break时,他会结束当前执行的方法,但是并不会影响到外层方法的执行,

public class AA {

    public static void main(String args[]) {
        for (int j=1;j<=2;j++)
        {


        for (int i=1;i<5;i++)
            {
            System.out.println("1");
            if(i==3) {
                System.out.println("2循环内");
                return;
                    }

            }
            System.out.println("一层循环");
         }
        System.out.println("最外");
    }
 }

1
1
1
2循环内

当执行return时,他会终止掉内外部的所有循环,

public class AA {

    public static void main(String args[]) {
        for (int j=1;j<=2;j++)
        {


        for (int i=1;i<5;i++)
            {
            System.out.println("1");
            if(i==3) {
                System.out.println("2循环内");
                continue;
                    }

            }
            System.out.println("一层循环");
         }
        System.out.println("最外");
    }
 }
public class AA {

    public static void main(String args[]) {
        for (int j=1;j<=2;j++)
        {


        for (int i=1;i<5;i++)
            {
            System.out.println("1");
            if(i==3) {
                System.out.println("2循环内");
                continue;
                    }

            }
            System.out.println("一层循环");
         }
        System.out.println("最外");
    }
 }

1
1
1
2循环内
1
一层循环
1
1
1
2循环内
1
一层循环
最外

从这里可以看到,continue,只是结束了当前循环的当前的循环次数

tips

值得一提的是,还有Switch中,break的用法`

 int num = 2;
        switch (num) {
            case 1:
                System.out.println("a");
                break;
            case 2:
                System.out.println("b");
                return;
            case 3:
                System.out.println("c");
                break;
        }
        System.out.println("程序结束");
    }

b

在Switch中可以看到,当执行当break时,break就不会执行,return也能执行,但是会影响到整个方法的执行,所以不推荐使用;

学习总结,

虽然是很小很简单的一个知识点,但是老师讲的时候我还是没能理解这三者的区别,所以我自己选择自己学习,通过网络上的途径,寻找适合自己的,但是不能光看,一定记得要记得自己动手去打一打自己的代码!!!,因为会看和会写真的是俩回事,这次可能写的有点啰嗦了,但是终于get到了这一个知识点;最后,诸君共勉,加油O.o!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值