我正在尝试写一个if语句,如果a为真,如果(b或c)为真,则执行某些操作。
我已写过这个,但我不确定它的逻辑是否正确。
if (critStatus == false && badStatus == true || pmBadStatus == true) {
//do something
}
基本上如果critStatus是假的&&如果badstatus 或 pmbadstatus为真,那么它应该做点什么。
答案 0 :(得分:1)
(A&& B)|| C 或 A&&(B || C)评价不一样,订单依赖于哪里是括号。
你的意思是
if (!critStatus && (badStatus || pmBadStatus)) {
//do something
}
答案 1 :(得分:1)
&&
的优先级高于||
,所以你必须写下这样的条件:
if (critStatus == false && (badStatus == true || pmBadStatus == true))
请参阅Java优先规则here。
答案 2 :(得分:0)
if (critStatus == false && (badStatus == true || pmBadStatus == true)) {
//do something
}
你需要的只是括号。在括号之前,陈述是:
if ((a = true and b = true) OR c = true){