break、continue、return之间的区别与联系

break、continue、return之间的区别与联系
在软件开发过程中,逻辑清晰是非常之重要的。 代码的规范也是非常重要的。往往细节决定成败。在编写代码的时候,一定要理解语言的作用以及使用的方法和场景。下面来介绍一下break、continue、return三者的区别和联系。

1. break :
(1).结束当前整个循环,执行当前循环下边的语句。忽略循环体中任何其它语句和循环条件测试。
(2).只能跳出一层循环,如果你的循环是嵌套循环,那么你需要按照你嵌套的层次,逐步使用break来跳出。[逐层判断,逐步跳出]
(3).break在循环体内,强行结束循环的执行,也就是结束整个循环过程,不在判断执行循环的条件是否成立,直接转向循环语句下面的语句。
(4).当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
总的来说:就近原则,结束当前的整个循环。
2. return:
(1).return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行。
(2).return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致。
(3). return后面也可以不带参数,不带参数就是返回空,其实主要目的就是用于想中断函数执行,返回调用函数处。
3. continue:
(1).终止本次循环的执行,即跳过当前这次循环中continue语句后尚未执行的语句,接着进行下一次循环条件的判断。
(2).结束当前循环,进行下一次的循环判断。
(3).终止当前的循环过程,但他并不跳出循环,而是继续往下判断循环条件执行语句.他只能结束循环中的一次过程,但不能终止循环继续进行.

代码如下:

 public static void test() {

        for (int i = 0; i < 10; i++) {
            if (i == 3) {
                // break;//
                // continue;//i=3的时候结束这一次的循环,继续执行i=4的循环
                return;// 直接结束整个函数

            }
            System.out.println("----" + i);
        }

        System.out.println("-111--");

    }
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

附图片:
当为return的时候:
这里写图片描述
当为continue的时候:
这里写图片描述
当为break的时候:
这里写图片描述

        <link rel="stylesheet" href="https://csdnimg.cn/release/phoenix/template/css/markdown_views-ea0013b516.css">
            </div>
while(1)
{
    if(...)
    {
        ......
    }
    else if()
    {
        for (menu = __app_menu_item_start; menu != __app_menu_item_end; menu++)
        {
            if (menu->parent == cur_menu && menu->key == pressed_key)
            {
                cur_menu = menu;
                menu_play_sound(menu);
                if (menu->handle)
                {
                    SYS_LOG_INF("enter handle\r\n");
                    ret = menu->handle(menu);
                    cur_menu = menu->parent;
                    menu_play_sound(cur_menu);
                }

                break;
            }
        }
    }
    ..............
}

break 只是跳出了for的循环,但是没有跳出外层的while(1)的循环
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值