break、continue、return的区别

来源:互联网 发布:pymongo 删除数据 编辑:程序博客网 时间:2024/05/02 02:35

        在学习软考、C++的时候总是会碰到break、continue和return,他们都是表示退出的的意思,却是有不同的使用场景。(实例用Java语言)


一、 使用break语句在Java中,break有三种作用。

        ①在switch语句中,用来终止一个语句序列。

        ②被用来退出一个循环。

        ③能作为一种goto语句来使用。


解释:

        1 switch语法格式如下:

     
switch(expression){    case value :       //语句       break; //可选    case value :       //语句       break; //可选    //你可以有任意数量的case语句    default : //可选       //语句}
        
        2 使用break语句直接强行退出循环,忽略循环体中任何其他语句和循环条件。
      
     
// 使用break退出循环  class BreakLoop { public static void main(String args[]) { for(int i=0; i<100; i++) { if(i == 10) break; // terminate loop if i is 10 System.out.println("i: " + i); } System.out.println("Loop complete."); } }
        在一个循环中可以使用一个以上的break语句,但是太多的break语句会破坏代码结构。switch语句中break仅影响switch语句,不会影响其他任何循环。

        3 把break 当作goto 一种形式来用 break语句除在switch语句和循环中使用之外,它还能作为goto 语句一种“文明”形式来使用。Java 中没有 goto 语句,因为goto 语句提供一种改变程序运行流程非结构化方式。这通常使程序难以理解和难于维护。它也阻止某些编译器优化。但是,有些地方goto 语句对于构造流程控制是有用而且是合法。
    例如,从嵌套很深循环中退出时, goto 语句就很有帮助。因此,Java 定义break 语句一种扩展形式来处理这种情况。通过使用这种形式break,你可以终止一个或者几个代码块。这些代码块不必是一个循环或一个switch语句一部分,它们可以是任何块。而且,由于这种形式break 语句带有标签,你可以明确指定执行从何处重新开始。你将看到,break带给你是goto 益处,并舍弃goto 语句带来麻烦。 

二、使用continue语句
  
        continue语句有时强迫一个循环提早反复使用,continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。
        continue语句在while 和do while 循环中,continue 语句使控制直接转移给控制循环条件表达式,然后继续循环过程。在for 循环中,循环反复表达式被求值,然后执行条件表达式,循环继续执行。

三、使用return语句

    return语句用来明确地从一个方法返回,返回到该调用的方法的语句处,继续执行。
    return返回一个只给调用该方法的语句,返回值的数据类型必须与方法的声明中返回值的类型一致。
    return当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。


    使用一句话总结:return  退出该方法; break 退出本次循环,执行循环体下面的语句; continue 仅跳过当次循环。

    理解的不是很清晰,相互学习!