我正在通过oracle认证的准Java SE7程序员实践考试(这本书),遇到一个问题,即使有解释,我也不明白答案。这是说明和代码:
它将打印3。循环主体执行两次,程序将打印3。
我不了解循环主体如何执行两次,也许我不了解什么b=!b意思。有人可以解释一下吗?
b=!b
class TestClass { public static void main(String args[]){ boolean b = false; int i = 1; do{ i + + ; } while (b = !b); System.out.println(i); } }
b = !b是 分配 其中B的逆分配给自身(真假之间有效地翻转)
b = !b
在Java中,分配返回所分配的内容(因此a=b=1可能)
a=b=1
因此while (b=!b)将翻转b的值,然后检查b的值。
while (b=!b)