zoukankan      html  css  js  c++  java
  • 小康陪你学JAVA--------continu3和break的比较

         本篇将和大家做个continu3和break的比较。

        在Java语言中,有一些跳离的语句,如break、continue等语句,站在结构化程序设计的角度上,并不鼓励使用,因为这些跳离语句会增加调试及阅读上的困难。因此建议:除非在某些不得以的情况下之外,否则尽量不要去使用它们。在本篇中,将介绍break及continue语句。

    break语句

         break语句可以强迫程序跳离循环,当程序执行到break语句时,即会离开循环,继续执行循环外的下一个语句,如果break语句出现在嵌套循环中的内层循环,则break 语句只会跳离当前层的循环。以下图的for循环为例,在循环主体中有break语句时,当程序执行到break,即会离开循环主体,而继续执行循环外层的语句。

    以下面的程序为例,利用for循环输出循环变量i的值,当i除以3所取的余数为0时,即使用break语句的跳离循环,并于程序结束前输出循环变量I的最终值。

    01 // 下面的程序是介绍break的使用方法

    02  public class TestJava3_32

    03 {

    04    public static void main(String[] args)

    05  {

    06   int i ;

    07

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

    09   {

    10   if(i%3 == 0)

    11    break ;    // 跳出整个循环体

    12   System.out.println("i = "+i);

    13   }

    14   System.out.println("循环中断:i = "+i);

    15  }

    16 }

    输出结果:

    i = 1

    i = 2

    循环中断:i = 3

    程序说明:

    1、 第9~13行为循环主体,i为循环的控制变量。

    2、 当i%3为0时,符合if的条件判断,即执行第11行的break语句,跳离整个fo循环。此例中,当i的值为3时,3%3的余数为0,符合if的条件判断,离开for循环,执行第14行:输出循环结束时循环控制变量i的值3。通常设计者都会设定一个条件,当条件成立时,不再继续执行循环主体。所以在循环中出现break语句时,if 语句通常也会同时出现。

    continue语句

         continue语句可以强迫程序跳到循环的起始处,当程序运行到continue语句时,即会停止运行剩余的循环主体,而是回到循环的开始处继续运行。以下图的for 循环为例,在循环主体中有continue语句,当程序执行到continue,即会回到循环的起点,继续执行循环主体的部分语句。

         将程序TestJava3_32 中的break 语句改成continue 语句就形成了程序TestJava3_33.java。可以观察一下这两种跳离语句的不同。break语句是跳离当前层循环,而continue语句是回到循环的起点。程序如下所示:

    01 // 下面的程序是介绍continue的使用方法

    02  public class TestJava3_33

    03 {

    04    public static void main(String[] args)

    05  {

    06   int i ;

    07

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

    09   {

    10   if(i%3==0)

    11    continue ;    // 跳出一次循环

    12   System.out.println("i = "+i);

    13   }

    14   System.out.println("循环中断:i = "+i);

    15  }

    16 }

    输出结果:

    i = 1

    i = 2

    i = 4

    i = 5

    i = 7

    i = 8

    i = 10

    循环中断:i = 11

    程序说明:

    1、 第9~13行为循环主体,i为循环控制变量。

    2、 当i%3 为0时,符合if 的条件判断,即执行第11行的continue语句,跳离目前的for循环(不再执行循环体内的其他的语句),而是回到循环开始处继续判断是否执行循环。此例中,当i 的值为3、6、9时,取余数为0,符合if 判断条件,离开当前层的for循环,再回到循环开始处继续判断是否执行循环。

    3、 当i 的值为11时,不符合循环执行的条件,此时执行程序第14行:输出循环结束时循环控制变量i的值11。当判断条件成立时,break语句与continue语句会有不同的执行方式。Break语句不管情况如何,先离开循环再说;而continue语句则不再执行此次循环的剩余语句,直接回到循环的起始处。

  • 相关阅读:
    UCML破解
    UCML快速开发平台学习1-UCML环境安装
    window系统安装jdk,jre
    解决Android报错No resource found that matches the given name (at 'text' with value '@string/hello').
    es6小技巧整理
    如何将项目推到github上面
    如何将时间格式化
    uni-app 页面跳转的两种方法
    layui表单校验及监听复选框选中状态的坑
    使用nvm管理多个不同版本的nodeJS之安装成功nodeJs之后使用npm报错的问题
  • 原文地址:https://www.cnblogs.com/kangshow/p/3908297.html
Copyright © 2011-2022 走看看