Java while循环布尔评估

时间:2014-03-10 14:25:03

标签: java while-loop boolean-expression

我不确定我是否理解这个循环

boolean b = false;
while(!b) {
System.out.println(b);
b = !b;
}
  

它返回false,循环执行一次

while(!b)设置b= true了吗?像!b = !falseb打印出来了?

5 个答案:

答案 0 :(得分:9)

while (!b)条件未将b设置为true

b = !b语句可以。

这就是你的循环只执行一次的原因。


伪代码翻译:

  • while not b(即,bfalse时)
  • 打印b(所以打印false
  • b分配给not b,即与b相反(因此将b分配给true
  • 循环的下一次迭代,btrue,因此not b条件失败并且循环终止

答案 1 :(得分:1)

while(!b) {    // As b = false but due to ! condition becomes true not b
System.out.println(b);  //false will be printed
b = !b;  // b = !false i.e. now b is true 
}

现在 b 为真,所以在下一次迭代中,条件将为false,并且您将从循环中存在

答案 2 :(得分:1)

翻译:

 boolean b = false;
 while(b == false) {
 System.out.println(b);
 b = !b;  // b becomes true
}

答案 3 :(得分:0)

!是Java中的否定一元运算符,不修改操作数。

答案 4 :(得分:0)

boolean b = false;
while(!b) { // The !b basically means "continue loop while b is not equal to true"
System.out.println(b);
b = !b; // this line is setting variable b to true. This is why your loop only processes once.
}