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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© \(^o^)/ 中级黑马   /  2014-5-7 09:55  /  1637 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public static void Reade()throws IOException
  2. {
  3. FileReader fr=new FileReader("dem.txt");


  4. while(true)
  5. {
  6. int s=fr.read();
  7. if(s==-1)

  8. break;
  9. System.out.println((char)s);

  10. }
复制代码
上面的代码中的break为什么不能换成continue?

评分

参与人数 1黑马币 +1 收起 理由
枫儿 + 1 神马都是浮云

查看全部评分

9 个回复

倒序浏览
  1. public static void Reade()throws IOException
  2. {
  3. FileReader fr=new FileReader("dem.txt");


  4. while(true)
  5. {
  6. int s=fr.read();
  7. if(s==-1)

  8. continue;//这是个死循环吧。
  9. System.out.println((char)s);

  10. }
复制代码
回复 使用道具 举报
Break 是跳出当前循环;
Continue 是结束本次循环,开始下一次循环。作用不一样!
你的程序换成Continue就不会结束了。。。
回复 使用道具 举报
break的作用是跳出当前循环块(for、while、do while)或程序块(switch)。在循环块中的作用是跳出当前正在循环的循环体。
continue用于结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环。
如果换成了continue就会继续循环while(true)语句,它永远都是真,就变成了死循环
回复 使用道具 举报
好好想想break与continue的区别啊:
continue
1、结束本次循环,继续下次循环,并且进行条件判断;
2、不可作用于switch语句。当在switch中使用,这个continue实际是作用于其所属的循环结构;若它不属于任何一个循环,程序将因此报错!
break
1、结束本次循环,并停止下次循环条件判断;
2、可以作用于switch语句。开关语句中,执行switch语句之后的代码。
你这里用的while语句,如果用continue的话会进行下一此循环,而你的条件又是true,所以程序就无休止的循环, 变成死循环了;而break一下就跳出整个循环体了,不会进入下一次循环

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
wanghe826 来自手机 中级黑马 2014-5-7 12:56:55
地板
你要弄清楚break和continue的作用,break是跳出语句块或者循环,continue是结束本次循环进入下一次循环
回复 使用道具 举报
break是直接跳出此循环,也就是循环结束.
而continue 只是结束本次循环,直接开始下一次循环,
要知道 结束循环和结束本次循环是有区别的.
你如果用continue 那么 你的while(true)就是个死循环,没有判断循环停止条件.当碰到continue只是结束本次循环而已,并没有跳出循环

评分

参与人数 1技术分 +1 收起 理由
枫儿 + 1 赞一个!

查看全部评分

回复 使用道具 举报
continue是继续运行,而break是跳出当前块
回复 使用道具 举报
Jero 中级黑马 2014-5-9 04:09:06
9#
break 与 continue 这两个单词均是java语言中的关键字,其中:break;----用于跳出循环(for/while/do...while)或者switch,但是不能用于跳出if语句(除非你的if语句外有循环),而continue则用于跳过该关键字下面的循环体,继续下一次的循环。
回复 使用道具 举报
首先要明确break和continue 的区别:
break是直接跳出此循环,即循环结束,而continue 只是结束本次循环,是开始下一次循环,
如果用continue 那么 while(true)就是个死循环,所以不可以替换成continue
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马