所以,一旦我看到這樣的東西,在Java中:while循環與布爾方法
while(!booleanMethod());
我在想,這條線是幹什麼的。我們假設在內部,該方法修改了一些屬性並創建了變量等,但最後它返回了一個真值。 循環如何在這種情況下工作?還有,這個方法會被調用嗎? 謝謝。
所以,一旦我看到這樣的東西,在Java中:while循環與布爾方法
while(!booleanMethod());
我在想,這條線是幹什麼的。我們假設在內部,該方法修改了一些屬性並創建了變量等,但最後它返回了一個真值。 循環如何在這種情況下工作?還有,這個方法會被調用嗎? 謝謝。
這個循環
while (!booleanMethod());
沒有塊。它會成功執行。
但
while(false);
會給編譯錯誤;
是的,該方法被調用。然而,循環是無用的,除非該方法做一些有趣的事情,而不是返回一個布爾值。例如,讓我們做它計數至10
int counter = 0;
public boolean go() {
counter++;
return counter < 10;
}
while (go());
System.out.println(counter); //-> 10
這是做的東西,可以以更直接的方式來表達一個相當冗長的方式。然而,重要的一點是,方法本身必須做某種副作用,否則循環會永遠持續下去,否則它將永遠不會運行。
我會推薦你閱讀https://docs.oracle.com/javase/tutorial/java/nutsandbolts/while.html – dullpointer