java判断不break_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为偶数,则打印出来,如果为奇数,那么则跳过。以下是程序代码和运行结果:

03cd214b40243baf9794fee0152e27a3.png

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值