在while循环中使用不带比较的布尔变量

Usage of boolean variable without comparison in while loop

boolean flag=true;
while(flag)
{
   //code(flag=false;)
}

在上面的代码中,在 while 循环条件中简单地给出了 flag。这里while条件如何满足?

条件表达式必须是 boolean。这可能包括使用常量 (true)、等式 (==)、不等式 (!=><) 或方法调用 (.equals()).

您已经有一个 boolean 变量,这是一个常量(不是在术语中它的 value/reference 不能改变),因此是一个有效的条件表达式。

只要表达式的计算结果为 true,while 循环就会 运行。

以下是 while 循环的语法。它有一个条件和一个 body。只要条件为真,它就会重复。循环的 body 执行工作并在需要终止循环时更新条件。

while(<condition>){
  <body>
}

这是一个例子:

重复直到 i 达到值 10。

boolean reachTen = false;
int i=0;
while(! reachTen ){
  System.out.println(i++);
  if (i == 10) reachTen = true;        
}

我通常不使用 fag。相反,我使用 break 来终止循环。

int i = 0;
while(true){
  System.out.println(i++);
  if (i == 10) break;
}