Java初学者:continue和break

Posted 阶前梧叶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java初学者:continue和break相关的知识,希望对你有一定的参考价值。

 我们前面已经说过了java的两种循环:for循环和while循环,这次我们说一下关于这两个循环的两种特殊操作:continue和break。英语里,continue是继续的意思,而break则是中断的意思。其实在java里,这两种操作也是这个意思,下面我们分别介绍一下这两个操作。

    首先说一下continue,当循环里出现这个字,意思就是不再执行continue以后的操作,而是转到循环开始那里进行条件判断,如果可以,则进行新一轮的循环,否则就退出循环。这里的循环,可能是for循环,也可能是while循环。现在假设我们有一个如这样形式的while循环:

    while(条件1)

    {

        语句1;

        if(条件2)

        {

             语句2;

             continue;

        } 

        语句3;

    }

    我们假设开始的时候条件1为true, 我们进入while循环,先是执行语句1,然后我们判断条件2,假设此时条件2为true, 然后就会进入if里面,会执行语句2,然后执行contnue;

    然后呢?注意了,由于continue的关系,此时程序将直接跳转到while后面的圆括号那里对条件1进行判断,假如条件1还是true,我们又进入了while,执行语句1,然后判断条件2,如果此时条件2为false, 则不进入if语句,于是我们将不会运行continue, 然后我们就会运行语句3, 然后回到while后面的圆括号那里对条件1进行判断......。

    我想读者此时不难发现,如果条件2一直为真,那么语句3将永远无法被执行到。我们这里暂时并不讨论这样的操作有什么实际意义,只要先弄明白continue的原理就好。实际编程中,读者可以灵活运用continue的特性。(有时候continue在循环里可以替代if-else语句,有时候则用来在特定情况下规避某些操作,比如,有可能用在链表和树的操作上。)

    同样的,如果continue出现在for循环里,其工作原理是一样的,这里就不再赘述。


     那么,break呢?break就相对比较简单了,break就是强制退出的意思,当一个循环中出现break并且被执行到,那么将强制退出循环,记住,是强制的,无条件的退出。现在假设我们有一个这样的for循环:

    for(......)

    {

        语句1;

        break;

        语句2;

    }

    语句3;

    那么,当程序执行到break的时候,将会跳出这个for循环,而去执行语句3,当然,语句2将不会被执行到。

    下面,我们来写个小程序来验证一下continue和break,在这个程序中,我们先生成一个0到100之间的随机数,然后我们使用for循环,i从0到100,如果i是那个随机数,则跳出整个循环,如果i为偶数,则打印出来,如果为奇数,那么则跳过。以下是程序代码和运行结果:

技术分享

 

 注意,由于我们使用了随机数,所以每次的运行结果如果不同,那是正常的,不同点就在于,那个随机数不同,所以程序跳出的时候也是不同的,极端的情况是我们的随机数是0,那么将不会打印出任何数字,直接跳出循环。屏幕上只会显示Processing completely.

    以上这个小例子可以基本的说明了continue和break的特点。事实上,有些程序员并不赞成使用这两种操作,认为这会破坏程序的可读性和造成逻辑上的混乱,但是在我这个菜鸟来看,合理的运用continue和break,有时候能够简化代码,而且能写出比较精巧的程序来。总之仁者见仁智者见智,在以后的程序设计中,每个人都有自己的感受吧。

 

以上是关于Java初学者:continue和break的主要内容,如果未能解决你的问题,请参考以下文章

有关return,break,continue的比较

JAVA里break和continue和return的区别

Java中break和continue跳出指定循环

python 如何在多层循环中使用break/continue

Java中的break和continue以及标签

请说明break和continue的区别?用JAVA举例出来详细点··要例子