咱们前面已经说过了java的两种循环:for循环和while循环,此次咱们说一下关于这两个循环的两种特殊操做:continue和break。英语里,continue是继续的意思,而break则是中断的意思。其实在java里,这两种操做也是这个意思,下面咱们分别介绍一下这两个操做。java
首先说一下continue,当循环里出现这个字,意思就是再也不执行continue之后的操做,而是转到循环开始那里进行条件判断,若是能够,则进行新一轮的循环,不然就退出循环。这里的循环,多是for循环,也多是while循环。如今假设咱们有一个如这样形式的while循环:程序员
while(条件1)编程
{小程序
语句1;设计
if(条件2)blog
{for循环
语句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,有时候可以简化代码,并且能写出比较精巧的程序来。总之仁者见仁智者见智,在之后的程序设计中,每一个人都有本身的感觉吧。