Java 使用布尔方法进行While循环

Java 使用布尔方法进行While循环,java,while-loop,boolean,Java,While Loop,Boolean,所以,一旦我在Java中看到这样的东西: 而(!booleanMethod()) 我想知道,这条线是干什么的。假设在内部,该方法修改一些属性并创建变量等,但最后返回一个真值。 在这种情况下循环是如何工作的?还有,这个方法会被调用吗?。 谢谢。这个循环 while ( !booleanMethod( ) ); 不要有阻塞。它将成功执行 但是 将给出编译错误 是的,方法被调用。但是,循环是无用的,除非该方法执行一些有趣的操作,而不是返回布尔值。例如,让我们将其计数为10 int counter

所以,一旦我在Java中看到这样的东西:

而(!booleanMethod())

我想知道,这条线是干什么的。假设在内部,该方法修改一些属性并创建变量等,但最后返回一个真值。 在这种情况下循环是如何工作的?还有,这个方法会被调用吗?。 谢谢。

这个循环

 while ( !booleanMethod( ) );
不要有阻塞。它将成功执行

但是


将给出编译错误

是的,方法被调用。但是,循环是无用的,除非该方法执行一些有趣的操作,而不是返回布尔值。例如,让我们将其计数为10

int counter = 0;

public boolean go() {
    counter++;
    return counter < 10;
}

while (go());

System.out.println(counter); //-> 10
int计数器=0;
公共布尔go(){
计数器++;
返回计数器<10;
}
while(go());
系统输出打印项次(计数器);//->10
这是一种相当冗长的方式,可以用更直接的方式表达。然而,重要的是,该方法本身必须产生某种副作用,否则循环将永远持续下去,或者永远不会运行。

我建议您阅读
int counter = 0;

public boolean go() {
    counter++;
    return counter < 10;
}

while (go());

System.out.println(counter); //-> 10