我不确定我是否理解这个循环
boolean b = false;
while(!b) {
System.out.println(b);
b = !b;
}
它返回false,循环执行一次
但while(!b)
设置b= true
了吗?像!b = !false
和b
打印出来了?
答案 0 :(得分:9)
while (!b)
条件未将b
设置为true
。
b = !b
语句可以。
这就是你的循环只执行一次的原因。
伪代码翻译:
not b
(即,b
为false
时)b
(所以打印false
)b
分配给not b
,即与b
相反(因此将b
分配给true
)b
为true
,因此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.
}