黑马程序员技术交流社区

标题: 我想问一下大家continue和break的区别,看的我都蒙了? [打印本页]

作者: suoxidong    时间: 2014-10-6 15:03
标题: 我想问一下大家continue和break的区别,看的我都蒙了?
continue和break到底有啥区别,使用范围 和 真正含义?谢谢大家了!
作者: 朴日男    时间: 2014-10-6 16:29
-0 - continue= 忽略本次循环  , break = 退出循环.
作者: hollywood2014    时间: 2014-10-6 17:02
我举个例子啊
假设我现在从控制台一行一行的读数据,即readLine()
while(......)
{
  if(line.equals("over"))
      break;//如果碰到了“over”,那么推出while循环,即读取数据完毕
if(line=="")
      continue;//如果读到了空字符串,那么不读取这个数据,进行下一次读取,即回到while(...)这个小括号中,继续执行readLine()
}
如果楼主还不明白,可以自己敲几行代码试试
作者: chenglove1201    时间: 2014-10-6 17:09
continue是结束本次循环,继续下次循环,continue后面的内容不执行了
break是结束整个循环,直接跳出循环语句,剩下的循环也不执行了
作者: suoxidong    时间: 2014-10-6 18:25
谢谢大家为我答疑解问 思路开阔了很多 谢谢
作者: 289623337    时间: 2014-10-6 19:26
三楼说的正确我在补充下
第一个问题是他俩的使用范围也就是作用范围
break  是应用在选择结构和循环结构    continue是应用于循环结构   这是他俩的作用范围如果不在这个范围内的话就会出现编译失败显示无法访问语句。
第二个问题还是不清楚的话就看看,看看视频的注。多应用下,也可以借鉴三楼总结的那个,continue如果是在大圈套小圈的循环结构的后面的话,是跳出小圈循环然后运行大圈循环。

加油!
作者: 梦里听传说    时间: 2014-10-6 19:32
continue 跳过当前循环,break跳出循环
作者: 千里马    时间: 2014-10-6 19:32
//break是结束整个循环体,continue是结束单次循环

比方说:

while(x++ < 10)
{
    if(x == 3)
    {
        break;
    }
    printf("%d\r\n", x);
}
结果是输出  1 2   就退出了整个while循环

但是如果使用continue
while(x++ < 10)
{
    if(x == 3)
    {
        continue;
    }
    printf("%d\r\n", x);
}
结果是:1 2 4 5 6 7 8 9 10  可见他仅仅是不输出3,因为他结束了本次循环
作者: 不系之舟王    时间: 2014-10-6 20:14
遇见continue,continue后面的语句不再执行,但循环继续执行。遇见break,跳出本次循环
作者: suoxidong    时间: 2014-10-6 22:06
289623337 发表于 2014-10-6 19:26
三楼说的正确我在补充下
第一个问题是他俩的使用范围也就是作用范围
break  是应用在选择结构和循环结构    ...

谢谢 你
作者: liqi    时间: 2014-10-6 22:43
continue 该次循环到此停止,下次循环继续。break整个循环停止
作者: 289623337    时间: 2014-10-6 23:08
suoxidong 发表于 2014-10-6 22:06
谢谢 你

相互鼓励一起学习进步,加油,你的进度和我的进度差不多我才到函数的概述!!!
作者: 289623337    时间: 2014-10-6 23:18
千里马 发表于 2014-10-6 19:32
//break是结束整个循环体,continue是结束单次循环

比方说:

千里马跟你探讨下冒昧的问一句,第一个break的格式虽然不是特别规范,但是结果是不是应该是X=1、2、3,因为这个知识点我也比较模糊跟你探讨下X++是不是应该比较X然后在做++运算!
纯属技术交流探讨一下
作者: shileishihai    时间: 2014-10-6 23:53
continue:跳过当前所在循环体,继续下一次循环,即不再执行循环体内continue后面的语句,而是执行循环后语句再执行判断语句。break:结束当前循环语句,for循环中为结束当前循环。
作者: 千里马    时间: 2014-10-7 18:37
289623337 发表于 2014-10-6 23:18
千里马跟你探讨下冒昧的问一句,第一个break的格式虽然不是特别规范,但是结果是不是应该是X=1、2、3,因 ...

结果是X=1、2,因为if(x==3)满足时,程序已经跳出整个循环结束了
作者: 289623337    时间: 2014-10-12 17:41
千里马 发表于 2014-10-7 18:37
结果是X=1、2,因为if(x==3)满足时,程序已经跳出整个循环结束了

那就是X=3不执行是不????
作者: 无极限    时间: 2014-10-12 19:22
学到了,谢谢

作者: 菜鸟小6    时间: 2014-10-21 21:55
break 适用于循环体和switch语句中,当程序执行到break,就终止循环了。continue只适用于循环体中,执行到continue,本次循环结束,进行下一次循环。
作者: pwj123ok    时间: 2014-10-24 08:07
bhbhibjkbjkbjnj
作者: 齐宁宁    时间: 2014-10-24 19:51
continue是结束本次循环,即在这个循环内,continue下面的代码不执行了,直接跳到下一次的循环中。break是指直接跳出循环,不再进行循环,接着执行循环下面的代码
作者: chen578157939    时间: 2014-10-26 13:03
在循环中,break的作用是跳出循环语句,循环语句不再执行,continue用于跳出循环中的一次循环,继续下一次循环




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2