有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java while循环布尔求值

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

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

it returns a false, loop is executed once

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


共 (5) 个答案

  1. # 1 楼答案

    翻译成:

     boolean b = false;
     while(b == false) {
     System.out.println(b);
     b = !b;  // b becomes true
    }
    
  2. # 2 楼答案

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

    b = !b语句确实如此

    这就是为什么循环只执行一次


    伪代码翻译:

    • not b(即bfalse
    • 打印b(所以打印false
    • b分配给not b,也就是说,与b相反(因此将b分配给true
    • 循环的下一次迭代btrue,因此not b条件失败,循环终止
  3. # 3 楼答案

    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.
    }
    
  4. # 4 楼答案

    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为真,所以在下一次迭代中,条件将为假,并且您将从循环中存在

  5. # 5 楼答案

    !是Java中的求反一元运算符,请不要修改操作数