A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

while(true) { switch(ch) { case '\r'; break; } } 这里面的break是表示退出switch循环 还是退出while循环?
PS:该睡觉了 脑袋昏昏的

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 新人亮相,赞一个!

查看全部评分

4 个回复

正序浏览
while(true) { switch(ch) { case '\r'; break; } }
楼主的语句等同于下面的语句:
while(true)
{
     switch(ch)
     {
          case '\r';
          break;
     }
}
很明显 break是结束switch分支语句的。
break语句在switch分支中的作用是,执行到break 退出switch分支 break后面的语句均不执行;
break语句在循环中的作用是:跳出循环,就是彻底结束循环;

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 赞一个!

查看全部评分

回复 使用道具 举报
楼上说的不错
回复 使用道具 举报
  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循环

评分

参与人数 1技术分 +1 收起 理由
张_涛 + 1 很给力!

查看全部评分

回复 使用道具 举报
break语句则是结束整个循环过程,执行下面代码。
switch只是一个开关,当然是退出的while
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马