黑马程序员技术交流社区

标题: 小demo,为什么每次的结果都不一样呢? [打印本页]

作者: 文江江    时间: 2014-3-9 21:55
标题: 小demo,为什么每次的结果都不一样呢?
本帖最后由 文江江 于 2014-3-10 17:12 编辑
  1. public class Demo {
  2.         public static void main(String[] args) {
  3.                 int i=0;
  4.                 while (true) {
  5.                         if (i%2==0) {
  6.                                 System.out.println(i);
  7.                         }
  8.                         i++;
  9.                 }
  10.         }
  11. }
复制代码

作者: zjf    时间: 2014-3-9 22:20
while (true)是个死循环,只要你不让它停,它会一直从0开始,把偶数打印下去的。
为什么每次的结果都不一样呢?主要是因为你每次停止的时间都不一样,加上现在电脑跑得快,一眨眼就跑很远啦。
不知这程序想测什么? 如果只是想看一下偶数,你可以缩小一下范围,
比如:while(i<100) ,这样它就会只打印0到100之间的偶数啦。
作者: 焚雨成灰    时间: 2014-3-9 22:31
while(true)  什么都没有默认是true
作者: 2528870651    时间: 2014-3-9 22:31
  1. //会不一样吗???   其实上面的哥们说得对,
  2. //其实是你停下来的时间不一样而已
  3. public class Demo {
  4.         public static void main(String[] args) {
  5.                 int i=0;
  6.                 while (true)     //"while(true)"  ()中是true程序就会继续执行下去不会停,,直到电脑冒烟
  7.                                         {
  8.                         if (i%2==0)
  9.                                                 {
  10.                                 System.out.println(i);
  11.                         }
  12.                         i++;
  13.                 }
  14.         }
  15. }
复制代码

作者: 文江江    时间: 2014-3-9 22:43
zjf 发表于 2014-3-9 22:20
while (true)是个死循环,只要你不让它停,它会一直从0开始,把偶数打印下去的。
为什么每次的结果都不一样 ...

你说的对,但是为什么这个这样写,它每次运行开始的结果都不一样啊?
作者: 漠然~回首℃    时间: 2014-3-10 00:24
因为你的写的是while(true)这个循环是死循环不会终止,(当然除非你人工终止,程序会停);然后每次循环都会i++;所以i的值每次都不一样,你的结果当然不同啊!
作者: ok-Prince    时间: 2014-3-10 07:53
本帖最后由 ok-Prince 于 2014-3-10 08:03 编辑

毕老师讲过:while(ture){}是while的无限循环的表达形式,如果运行不让循环停止的话,那么你计算机的CPU会一直去处理这个循环,把条件改一下就OK了,至于为什么每次结果都不一样,是因为dos命令行的显示是有长度限制的,这个代码一经运行就会瞬间处理上万的数据,强行停止后,它会只显示最近处理的数据,前面那些都被顶掉了,不在命令行窗口中显示了,只是看着不一样而已,其实每次运行的结果是一样的。
作者: 透过生活    时间: 2014-3-10 11:19
电脑的性能问题。加上死循环强制停下来的时间不一样,出现的结果会不一样。开始的结果,你用eclipse试试,cmd开始的是不是看不到了。
作者: cnchenys    时间: 2014-3-10 12:00
这死循环啊。




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