所以,一旦我看到这样的东西,在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