什么时候(真)循环合适?

时间:2011-09-27 02:56:38

标签: while-loop conditional

  

可能重复:
  is while(true) bad programming practice?
  What's the point of using “while (true) {…}”?

我一直认为使用while(true)是不好的做法。很多人都认为没关系。

为什么要有目的地创建无限循环?我能想到的唯一两个原因是:

  1. 你是狡猾的
  2. 你在偷懒
  3. 如果有的话,是否适合使用它?为什么要在算法上使用它?

2 个答案:

答案 0 :(得分:5)

有时,while(true)比其他选项更具可读性。一个很好的例子:

BufferedReader in = ...;
while (true)
{
  String line = in.readLine();
  if (line == null)
    break;
  process(line);
}

考虑替代方案:

BufferedReader in = ...;
String line;
while ((line = in.readLine) != null)
  process(line);

答案 1 :(得分:1)

  • 在线程代码(并发编程)..

  • 在游戏和菜单中

  • 使用C或Fortran时(我的意思是更多)

其实你看得太多了......