黑马程序员技术交流社区

标题: While(true){}有什么用啊? [打印本页]

作者: ruibocool    时间: 2015-5-5 18:50
标题: While(true){}有什么用啊?
觉得无论有没有,对程序没影响

作者: Troy-Fu    时间: 2015-5-5 18:50
有用,比如验证用户只有正确才执行下去.多线程中.以及一个线程需要满足某个条件才能执行下去时就可以使用while循环去等待,而另一个线程则可以去实现这个条件.还有就是为了保证它中的程序一直运行着,能够在任何时候获得内容并执行.
作者: 任帅RS    时间: 2015-5-5 19:26
个人觉得用处不大,就是一个无限循环的语句。就想for语句不写条件一样,也是无限循环。我也是菜鸟,不过觉得好多东西背一背就好啦,求甚解太过麻烦啦。
作者: zhangjing    时间: 2015-5-5 20:27
  while,do-while和for控制着循环,有时将其划分为“反复语句”。除非用于控制反复的布尔表达式得到“假”的结果,否则语句会重复执行下去。while循环的格式如下:   
   
  while(布尔表达式)   
  语句   
   
  在循环刚开始时,会计算一次“布尔表达式”的值。而对于后来每一次额外的循环,都会在开始前重新计算一次。   
  下面这个简单的例子可产生随机数,直到符合特定的条件为止:   
   
   
  //:   WhileTest.java   
  //   Demonstrates   the   while   loop   
   
  public   class   WhileTest   {   
      public   static   void   main(String[]   args)   {   
          double   r   =   0;   
          while(r   <   0.99d)   {   
              r   =   Math.random();   
              System.out.println(r);   
          }   
      }   
  }   ///:~   
   
  它用到了Math库里的static(静态)方法random()。该方法的作用是产生0和1之间(包括0,但不包括1)的一个double值。while的条件表达式意思是说:“一直循环下去,直到数字等于或大于0.99”。由于它的随机性,每运行一次这个程序,都会获得大小不同的数字列表
作者: 397543420    时间: 2015-5-5 20:37
其实是有用的,在某些特定条件下,ture能起到无限循环的效果,相比for循环,占用内存资源要小很多,是节省资源的一种方法,到后面如果精通后,会讲到内存优化机制,到时候这些问题就是很好的优化地方,什么时候该用while,而什么时候用for。都是有讲究的。
作者: 王洪涛    时间: 2015-5-5 21:14
如果true一直为真,那就是个无限循环
作者: 13317121995    时间: 2015-5-5 21:35
加了这条语句之后就是无限循环,当你从控制台输入一个数,打印出结果,如果你不用这条循环语句,你就只能重新在编译一次再输入,当你用了这条语句,你就可以输入一次打印一次结果,然后可以接着再输入又能打印出结果,不需要再重新编译
作者: JP123    时间: 2015-5-5 21:50
能够无限循环~~~~
作者: Voyage    时间: 2015-5-5 23:11
个人看法,就是一个无限循环的语句,在后面多线程和网络编程会用到。比如服务端程序要一直运行,处理完一个客户端,要断开与客户端连接。当有一个新的客户端进来,while(true),开始运行。
作者: 大西洋    时间: 2015-5-6 08:24
397543420 发表于 2015-5-5 20:37
其实是有用的,在某些特定条件下,ture能起到无限循环的效果,相比for循环,占用内存资源要小很多,是节省 ...

0 0   感谢大神分享!
作者: Tauruszzy    时间: 2015-5-6 08:45
无限循环语句,解决某些特定的问题。
作者: 18730604321    时间: 2015-5-6 08:55
就是一个可以从内部break的无限循环吧。
作者: as12510    时间: 2015-5-6 09:10
while(true){ ... }可以让大括号里面的东西一直循环,除非遇到你写的break; 否则 就会无限的循环,可以用来做那些不确定次数的循环。
作者: KingWorld    时间: 2015-5-6 10:53
存在即合理,这就说明他有一定的用处。例如:我以前做的一个学生信息录入系统需要循环添加每一个学生的信息进去,这时候可以用While(true){//添加信息的代码},来不停的循环添加。当不需要添加的时候,直接一个break就退出循环了,接着做其他的事,这样我觉得算是一种用途了。
public static void main(String[] args) {
                int i = 0;
                while (true) {

                        System.out.println("添加第" + (i + 1) + "个学生");
                        i++;
                        if (i == 5) {
                                break;
                        }
                }
        }
作者: KK要有光    时间: 2015-5-6 11:40
397543420 发表于 2015-5-5 20:37
其实是有用的,在某些特定条件下,ture能起到无限循环的效果,相比for循环,占用内存资源要小很多,是节省 ...

还可以这样啊,以为不能写无限循环的语句,现在学习了。
作者: forplay    时间: 2015-5-6 11:59
无限死循环吧
作者: HHE_johnson    时间: 2015-5-6 12:14
我觉得这就是循环判断,就是字面上一看就明白是啥意思。true其实就是真,也就是1,作用就是一直在循环。
作者: CoeusLYJ    时间: 2015-5-6 12:19
while(true){}是无限循环的意思,相当于for( ; ; ){ }
作者: wx_BZhrvVik    时间: 2015-5-6 15:16
无限循环吧,这个肯定是有用啊,举个例子,之前我做单片机编程,需要程序无限循环检查处理器状态就对用到while(1){},这样通过无线循环就可以实现无限循环检测,从而实现不断地刷新状态。所以,while(1){}肯定是有用的,
作者: 唐泉银    时间: 2015-5-6 15:31
就是让循环一直继续啊,一般和if一起用,其实和while(条件)的作用一样,只不过前者比较节约资源,用的不多
作者: xingfeichen    时间: 2015-5-6 16:55
while(true){}
是一个无线循环的语句,比如我们在做键盘扫描事,通常需要通过键盘录入调试程序,这时候它就很有用了
作者: ddddk    时间: 2015-5-6 17:39
这是while语句无限死循环的最简单写法
作者: zxj35986847    时间: 2015-5-6 19:58
是一个死循环,比如你重复输入,一直输入用这个,很好用,如果满足你需要的条件停止即可.
作者: 过路人    时间: 2015-5-6 23:26
死循环,解决一部分问题时用,毕老师用来演示多线程的问题时用过
作者: 笔墨痕干    时间: 2015-5-7 08:35
死循环语句,肯定是有用的,具体需不需要的看你的程序喽,网络编程就的用到
作者: 匡璐    时间: 2015-5-7 08:45
无限循环 必须有用啊  有的时候就是要无限循环,然后满足条件之后可以跳出。
作者: shenxian88    时间: 2015-5-7 10:04
while(true),就是想让程序一直执行。当然,也可以在循环体里加上break语句,可以在满足需要退出条件时,用break语句退出。不知道能否帮到你
作者: 木头人之死    时间: 2015-5-7 13:09
无限循环。在某些时候有用。。还有就是离、楼上上说的比for占的资源少
作者: dzzgml    时间: 2015-5-7 15:28
在某种特定情况下应该有用吧!例如:在写多线程的时候应该有用。
作者: 魔心邪    时间: 2015-5-7 17:32
多线程用到无限循环。
作者: binglin    时间: 2015-5-7 18:35
是一个死循环,是一个死循环,是一个死循环,是一个死循环,是一个死循环,是一个死循环,
作者: gunther    时间: 2015-5-7 20:29
判断条件任何时候都是true,除非你的循环体里有break跳出循环,看你里面是啥了
作者: fhy1969038887    时间: 2015-5-7 20:38
while(ture){} 当你不知道要循环的次数时,可以用这个方法,无限循环直到里面条件满足,可以用break或者return跳出循环
作者: guowei    时间: 2015-5-8 00:21
while(){}  你可以理解为是一个不断来回转圈的过山车  ( ) 小括号里面是开关  true理解为一直开 {  } 大括号里面是执行语句  你可以理解为过山车要走的路  里面的路你可以自己设置该怎么走  怎么停  个人理解  哈哈
作者: ruibocool    时间: 2015-5-8 04:44
我终于明白了,有些地方必须要到,刚写道一个程序,确实如此啊
作者: 天若有晴    时间: 2015-5-8 20:20
我现在看到多线程有用到while(true)了,这样不用if判断
因为有时会唤醒同一类做着生产者的动作,而此时入果是if就没有判断了
,在day12里面。当然这里用的是synchronized。后面版本可能用的是Condition 和Lock

作者: 鸿鹄2008    时间: 2015-5-10 10:47
目前还没有提到过它的也用途
作者: zhubingg    时间: 2015-5-10 12:49
涨知识了 while(ture){}  有这多用法呢?
作者: 喻忠航    时间: 2015-5-13 00:03
这么多人都回答了  我来晚了!!
作者: 980595778    时间: 2015-5-13 18:39
就是一个无限循环语句,现在觉得是冗余代码,不知是不是学习程度没达到,还是别的
作者: zouzouzou    时间: 2015-5-17 00:17
就是无限次循环。。
作者: wr6524798    时间: 2015-5-17 10:17
一直进行循环,直到你break出去
while(true)
{
    i++;
    if(10==i){break;}
}
作者: 王超群    时间: 2015-6-9 22:41
会得到死循环,这是只想得到自己想要的结果而使程序一直执行下去,从而的到自己想要的结果
作者: 408205555    时间: 2015-7-18 20:27
这是一个死循环啊




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