gpt4 book ai didi

java - boolean 表达式编译错误

转载 作者:行者123 更新时间:2023-12-01 06:35:48 25 4
gpt4 key购买 nike

这是一段 Java 代码:

static boolean a; // gets false
static boolean b;
static boolean c;

public void printA(){

 boolean bool = (a = true) || (b = true) && (c = true);    
System.out.print(a + ", " + b + ", " + c);
}

无法编译,请问是什么问题?错误:该行有多个标记; “bool”变量行上的语法错误。我希望它打印 true, false, true。尽管根据我的教程书籍,它打印 true, false, false

我知道它会执行短路,但在 && 的情况下,双方都需要进行评估。那不是作业,我正在学习Java。干杯

最佳答案

(a = true) || (b = true) && (c = true);

相当于:-

(a = true) || ((b = true) && (c = true));

由于 (a = true) 被评估为 true,因此不会评估第二个表达式,因为您正在使用短路运算符 (|| ) 那里。

因此最后两个分配不会发生。 bc 的值仍为 false

注意:- 短路运算符 - &&||,不会进一步评估之前是否可以获得某个结果评价。

所以:-

    如果 a 为 false,
  • a && b 将不会计算 b

  • a ||如果a为真,b将不会计算b

关于java - boolean 表达式编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13629944/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com