黑马程序员技术交流社区

标题: 这个Break是跳出那个循环 怎么验证啊 头有点晕 额 [打印本页]

作者: 来明坤    时间: 2012-8-9 02:13
标题: 这个Break是跳出那个循环 怎么验证啊 头有点晕 额
while(true) { switch(ch) { case '\r'; break; } } 这里面的break是表示退出switch循环 还是退出while循环?
PS:该睡觉了 脑袋昏昏的
作者: 杜佳瑞    时间: 2012-8-9 02:42
break语句则是结束整个循环过程,执行下面代码。
switch只是一个开关,当然是退出的while
作者: 刘悦    时间: 2012-8-9 08:18
  1. while(true){
  2.                         switch(ch){
  3.                         case '\r':
  4.                                 break;
  5.                         }
  6.                 }
复制代码
这里的break应该结束的是当前所在循环,既是switch。

楼主只要记住,break和contiue结束的是当前循环,如果你分不清,就看break在哪个代码块里,就是结束的谁

如果你想结束这个例子中的while循环,可以写上标签,例如:
  1. outer:while(true){
  2.                         switch(ch){
  3.                         case '\r':
  4.                                 break outer;
  5.                         }
  6.                 }[/
复制代码
这样,break就会结束指定循环,即while循环。
附上小常识:continue不能用于switch循环
作者: 郑小杰    时间: 2012-8-9 09:40
楼上说的不错
作者: 焦晨光    时间: 2012-8-9 09:46
while(true) { switch(ch) { case '\r'; break; } }
楼主的语句等同于下面的语句:
while(true)
{
     switch(ch)
     {
          case '\r';
          break;
     }
}
很明显 break是结束switch分支语句的。
break语句在switch分支中的作用是,执行到break 退出switch分支 break后面的语句均不执行;
break语句在循环中的作用是:跳出循环,就是彻底结束循环;






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