2014-01-08 102 views
-1

以下語句在Java中表示什麼?雙狀態,而

while(condition_1) { 
    do something... 
} while (condition_2); 

是否有任何現實世界的情況下使用它?

UPDATE:代碼示例

int i = 3; 
    while (i < 10) { 
     System.out.println(i++); 
    } while (i < 15); 
+4

詢問代碼時請顯示可編譯代碼。或者在'做些事情...'前開始評論。 –

+0

請發佈實際的代碼。 –

+1

對我來說,這看起來像是一個無限循環......'i'的值在突破第一個while循環後永遠不會改變。這個問題在目前的狀態下毫無意義。 – jahroy

回答

1

你的第二個代碼樣本是在無限循環中進行的。爲更好地瞭解DO-同時請到經過這裏提到的例子: Java do while, while

10

這只是2 while語句。與第一個while循環的右括號在同一行上時,第二個沒有意義。空白大部分並不重要。如果兩個語句之間有空行,你的代碼會做同樣的事情。

編輯:由於您編輯了代碼以包含一個空的while循環,所以您應該注意到,第二個while循環實際上並不執行循環以外的任何操作。所以如果你循環一次,你會永遠循環。你可能會把這個和一個do-while循環混淆起來,在這種情況下你應該參考教程:http://docs.oracle.com/javase/tutorial/java/nutsandbolts/while.html

+2

因此,它打印3,4,5,6,7,8和9,然後永遠迭代。 –

+0

看起來完全正確的解釋。另外,我覺得這大多是不好的做法。爲什麼有一段時間除了可能通過括號內的內容之外什麼也不做。 OP應該發佈實際代碼。 –

2

它不找我從任何不同:

int i = 3; 
while (i < 10) //loop that ends once i == 10 
    System.out.println(i++); 

while (i < 15) //infinite loop 
    ; //that does nothing 

有隻有兩個while循環和格式錯誤代碼。