哪个无限循环更适合使用

nis*_*ist 0 c c++ java loops

可能重复:
"for(;;)"是否比"while(TRUE)"快?如果没有,为什么人们会使用它?

我一直在阅读作者使用的编程书(java)for(;;)而不是while(true).这件事真的开始让我烦恼所以我认为我应该检查哪个是最好用的,如果有任何差异.以下是可能的无限循环:

for(;;){

}

while(true){

}

do{

}while(true)
Run Code Online (Sandbox Code Playgroud)
  • 哪个更喜欢使用?
  • 在性能上是否有任何差异(比如你必须测试在while的情况下是否为真)或者它们是否编译成相同的东西?

Bil*_*nch 6

它们编译成同样的东西,仅仅是一种风格问题.较老的程序员可能会认识到for(;;),但我可能会使用while(true).

  • 这是正确的,但我希望你能理解我不能写"人们已经被分为`(;;)`和`while(true)`自C的黎明". (6认同)