Java基础知识总结-Java流程控制语句之break、continue、return

break 语句

在 Java 中,break 语句有 3 种作用,分别是:在 switch 语句中终止一个语句序列、使用 break 语句直接强行退出循环和使用 break 语句实现 goto 的功能。

在 switch 语句中终止一个语句序列

在 switch 语句中终止一个语句序列,就是在每个 case 子句块的最后添加语句“break;”,

使用 break 语句直接强行退出循环

可使用 break 语句强行退出循环,忽略循环体中的任何其他语句和循环的条件判断。在循环中遇到 break 语句时,循环被终止。

在一系列嵌套循环中使用 break 语句时,它将仅仅终止最里面的循环。

一个循环中可以有一个以上的 break 语句,但是过多的 break 语句会破坏代码结构。switch 循环语句中的 break 仅影响 switch 语句,不会影响循环。

使用 break 语句实现 goto 的功能

break 语句可以实现 goto 的功能,通过使用扩展的 break 语句,可以终止执行一个或者几个任意代码块,这些代码块不必是一个循环或一个 switch 语句的一部分。同时这种扩展的 break 语句带有标签,可以明确指定从何处重新开始执行。

break 除了具有 goto 退出深层循环嵌套作用外,还保留了一些程序结构化的特性。

标签 break 语句的通用格式如下:

break label;

label 是标识代码块的标签。当执行这种形式的 break 语句时,控制权被传递出指定的代码块。被加标签的代码块必须包围 break 语句,但是它不需要直接包围 break 的块。也就是说,可以使用一个加标签的 break 语句来退出一系列的嵌套块,但是不能使用 break 语句将控制权传递到不包含 break 语句的代码块。
用标签(label)可以指定一个代码块,标签可以是任何合法有效的 Java 标识符,后跟一个冒号。标签语句必须和循环匹配使用,使用时书写在对应的循环语句的上面,如果需要中断标签语句对应的循环,可以采用 break 后面跟标签名的方式。

下面是使用带标签的break 语句的示例:

public class GotoDemo
{
    public static void main(String[] args)
    {
        label:for(int i=0;i<10;i++)
        {
            for(int j=0;j<8;j++)
            {
                System.out.println(j);
                if(j%2!=0)
                {
                    break label;
                }
            }
        }
    }
}

continue语句

continue 语句是跳过循环体中剩余的语句而强制执行下一次循环,其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。continue 语句只能用在 while 语句、do-while 语句、for 语句或者 foreach 语句的循环体之中,在这之外的任何地方使用它都会引起语法错误。

for (int i = 0; i < 3 ; i++ ){
  System.out.println("i的值是" + i);
  if (i == 1){
  // 忽略本次循环的剩下语句
    continue;
  }
  System.out.println("continue后的输出语句");
}

return语句

return 语句用于终止函数的执行或退出类的方法,并把控制权返回该方法的调用者。如果这个方法带有返回类型,return 语句就必须返回这个类型的值;如果这个方法没有返回值,可以使用没有表达式的 return 语句。

return 语句的一般语法格式如下:

return 与方法相同类型的变量;

for (int i = 0; i < 3 ; i++ ){
    System.out.println("i的值是" + i);
  if (i == 1){
    return;
  }
  System.out.println("return后的输出语句");
}

break、continue、return的区别

  • break 完全结束一个循环,跳出循环体。不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码;
  • continue 结束本次循环,进行下次循环;
  • return 跳出循环体所在的方法,并不是专门用于跳出循环的,而是结束该方法,不管这个return处于多少层循环之内。

 

文章中若有不得当之处请留言指出,谢谢!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值