黑马程序员技术交流社区

标题: io流读取问题 [打印本页]

作者: \(^o^)/    时间: 2014-5-7 09:55
标题: io流读取问题
  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?

作者: skill20    时间: 2014-5-7 09:59
  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. }
复制代码

作者: 362688114    时间: 2014-5-7 11:25
Break 是跳出当前循环;
Continue 是结束本次循环,开始下一次循环。作用不一样!
你的程序换成Continue就不会结束了。。。
作者: 刘晶    时间: 2014-5-7 12:23
break的作用是跳出当前循环块(for、while、do while)或程序块(switch)。在循环块中的作用是跳出当前正在循环的循环体。
continue用于结束循环体中其后语句的执行,并跳回循环程序块的开头执行下一次循环。
如果换成了continue就会继续循环while(true)语句,它永远都是真,就变成了死循环
作者: 宋美成    时间: 2014-5-7 12:26
好好想想break与continue的区别啊:
continue
1、结束本次循环,继续下次循环,并且进行条件判断;
2、不可作用于switch语句。当在switch中使用,这个continue实际是作用于其所属的循环结构;若它不属于任何一个循环,程序将因此报错!
break
1、结束本次循环,并停止下次循环条件判断;
2、可以作用于switch语句。开关语句中,执行switch语句之后的代码。
你这里用的while语句,如果用continue的话会进行下一此循环,而你的条件又是true,所以程序就无休止的循环, 变成死循环了;而break一下就跳出整个循环体了,不会进入下一次循环
作者: wanghe826    时间: 2014-5-7 12:56
你要弄清楚break和continue的作用,break是跳出语句块或者循环,continue是结束本次循环进入下一次循环
作者: 倪大大    时间: 2014-5-7 14:49
break是直接跳出此循环,也就是循环结束.
而continue 只是结束本次循环,直接开始下一次循环,
要知道 结束循环和结束本次循环是有区别的.
你如果用continue 那么 你的while(true)就是个死循环,没有判断循环停止条件.当碰到continue只是结束本次循环而已,并没有跳出循环
作者: 奇迹    时间: 2014-5-9 02:57
continue是继续运行,而break是跳出当前块
作者: Jero    时间: 2014-5-9 04:09
break 与 continue 这两个单词均是java语言中的关键字,其中:break;----用于跳出循环(for/while/do...while)或者switch,但是不能用于跳出if语句(除非你的if语句外有循环),而continue则用于跳过该关键字下面的循环体,继续下一次的循环。
作者: 郑云斌    时间: 2014-5-9 09:57
首先要明确break和continue 的区别:
break是直接跳出此循环,即循环结束,而continue 只是结束本次循环,是开始下一次循环,
如果用continue 那么 while(true)就是个死循环,所以不可以替换成continue




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