2011-09-27 106 views
0

可能重複:
is while(true) bad programming practice?
What's the point of using 「while (true) {…}」?什麼時候適合(真)回合?

我一直認爲這是不好的做法,使用while(true)。很多人認爲沒關係。

你爲什麼要故意創建一個無限循環?我能想到的只有兩個原因:

  1. 你太狡猾
  2. 你懶惰

時,如果有的話,是不是適合使用呢?爲什麼你會通過算法使用它?

+0

「你爲什麼會用這種過度的算法」:嗯......你可以使用它作爲一個*算法的一部分*。這兩者不是相互排斥的。 – quasiverse

+0

我在問什麼時候合適......不是不好或不好 - 只是爲什麼它可以使用。 – Cody

+0

@DoctorOreo通過它的答案而不是標題來判斷已解決問題的價值。 – quasiverse

回答

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); 
+0

優秀的例子,謝謝! – Coffee

1
  • 在線程代碼(並行編程)..

  • 在遊戲和菜單

  • 在使用C或Fortran語言(我的意思是moreso這裏)

其實你看到它很多...

+1

是不是「在使用C或Fortran時」有點......一般... – quasiverse

+0

;)是的,我有點面帶表情。出於某種原因,我想起C語言中的網絡編程。 – Coffee

相關問題