美文网首页
break,continue,return 用法和区别

break,continue,return 用法和区别

作者: 小李不木 | 来源:发表于2019-06-10 12:54 被阅读0次

    1、return 语句的作用

    (1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行。

    (2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致,可以           使用强制类型转换来是数据类型一致。

    (3) return 当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。

          (4)  return 0,说明程序正常退出。return 1,说明程序异常退出。

    2、break语句的作用

    (1) 只能在循环体内和switch语句体内使用break语句。

    (2) 当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。

    (3) 当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。

    (4) 在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环。

    3、continue语句作用

    (1) continue语句的一般形式为:contonue;

    (2) 其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。

    (3) 注意:执行continue语句并没有使整个循环终止。在while和do-while循环中,continue语句使得流程直接跳          到循环控制条件的测试部分 ,然后决定循环是否继续进行。

    (4) 在for 循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进             行“表达式2”的条件测试,最后根据“表达式2”的值来决定for循环是否执行。在循环体内,不论continue          是作为何种语句中的语句成分,都将按上述功能执行,这点与break有所不同。

       一般说来,程序进入循环体后在下次循环判断之前执行循环体里的所有语句,break和continue语句可以终止循环或忽略某些循环。

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

    break和continue的区别如下: 

    1. break可用于switch语句,表示跳出整个switch块,而continue则不能用于switch语句

    2. 它们都可用于循环语句的循环体,所谓的区别也应该是它们对循环次数的影响不同。break用于立即退出当前循环,而continue仅跳过当次循环(本次循环体内不执行continue语句后的其它语句,但下次循环还会执行)。举例说明。

    int i;

    int s = 0;

    for (int i = 1; i <= 10; i++)

    {

    if (i == 6) break;

    s += i;

    }

    上面的循环会因为break语句而在i=6时提前终止,这样s的最终值就是1+2+3+4+5

    如将break换成continue

    int i;

    int s = 0;

    for (int i = 1; i <= 10; i++)

    {

    if (i == 6) continue;

    s += i;

    }

        当i=6时就不会将i累加到s中,s的最终值是1+2+3+4+5+7+8+9+10,唯独少一个6 

    在一具循环体中,如果用break返回, 则不管其后面是否有满足for中条件的情况,都不做for中的循环体,即不会做;

    如果用continue返回,如果条件满足执行continue, 跳出下面语句的执行,而返回到for 语句的开头,再次判断for中的条件,从而根据条件执行其中的循环体内容。

    二者都作用的是当前循环,对于嵌套循环,如果这两者在内部循环中则只作用于内部循环。

    例2:

    break是结束循环 continue是结束本次循环

    循环是有很多次的 break之后不再循环 continue结束本次循环后 再开始下一次的循环

    .......

    sum = 0

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

    if(i == 4)

    break;

    if(i == 2)

    continue;

    sum += i;

    }

    .......

    结果为:sum 为 0+1+3=4

    循环计算累加和,放在sum中

    过程如下:i从0开始循环,每次i++。当i == 2的时候,执行continue,跳过sum += i这句,继续循环,也就是说,2并没有加到sum中去。循环继续,i变成3,执行sum+=i。然后发现i == 4了,于是执行break,跳出for循环,也就是说,break之后,i的值固定在4了,循环语句不再被执行了,sum += i这句也就不再被执行了。

    break是直接跳出循环体,而continue是跳过循环体中余下的语句(这里为sum += i;)继续执行循环。

    除此之外,break还可以用在switch/case中,用来结束条件匹配,道理和在循环中一样

    相关文章

      网友评论

          本文标题:break,continue,return 用法和区别

          本文链接:https://www.haomeiwen.com/subject/pcfzxctx.html