如何编写具有多个条件的if语句?

时间:2016-11-29 21:17:44

标签: java boolean-logic boolean-operations

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

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

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

基本上如果critStatus是假的&&如果badstatus pmbadstatus为真,那么它应该做点什么。

3 个答案:

答案 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){