如何编写包含多个条件的 if 语句?

How can I write a if statement with multiple conditions?

我正在尝试编写一个 if 语句,其中如果 a 为真且(b 或 c)为真则执行某项操作。

我写了这个,但我不确定它的逻辑是否正确。

if (critStatus == false && badStatus == true || pmBadStatus == true) {
//do something
}

基本上如果 critStatus 为假 && 如果 badstatus pmbadstatus 为真那么它应该做一些事情。

(A&&B)||CA&&(B||C) 不是同一个评价,顺序会视情况而定括号在哪里。

你是说

if (!critStatus && (badStatus || pmBadStatus)) {
    //do something
}

&&的优先级高于||,所以你必须这样写你的条件:

if (critStatus == false && (badStatus == true || pmBadStatus == true))

参见 Java 优先规则 here

if (critStatus == false && (badStatus == true || pmBadStatus == true)) {
//do something
}

你只需要括号。括号前的语句是:

if ((a = true and b = true) OR c = true){