小康陪你学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语句则不再执行此次循环的剩余语句,直接回到循环的起始处。

小康陪你学JAVA--------continu3和break的比较,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。