Java 如何编写具有多个条件的if语句?
我试图写一个if语句,如果a是真的,如果(b或c)中的任何一个是真的,那么做些什么 我写过这篇文章,但我不确定它的逻辑是否正确Java 如何编写具有多个条件的if语句?,java,boolean-logic,boolean-operations,Java,Boolean Logic,Boolean Operations,我试图写一个if语句,如果a是真的,如果(b或c)中的任何一个是真的,那么做些什么 我写过这篇文章,但我不确定它的逻辑是否正确 if (critStatus == false && badStatus == true || pmBadStatus == true) { //do something } 基本上,如果critStatus为false&如果badstatus或pmbadstatus为true,那么它应该做些什么。(A和B)| C或A和(B | C)的计算结果不同,顺
if (critStatus == false && badStatus == true || pmBadStatus == true) {
//do something
}
基本上,如果critStatus为false&如果badstatus或pmbadstatus为true,那么它应该做些什么。(A和B)| C或A和(B | C)的计算结果不同,顺序将取决于括号的位置
你是说
if (!critStatus && (badStatus || pmBadStatus)) {
//do something
}
(A&&B)| C或A&&B | C的计算结果不同,顺序将取决于括号的位置
你是说
if (!critStatus && (badStatus || pmBadStatus)) {
//do something
}
&&
的优先级高于|
,因此您必须这样编写您的条件:
if (critStatus == false && (badStatus == true || pmBadStatus == true))
请参阅Java优先级规则。
&&
的优先级高于|
,因此您必须这样编写条件:
if (critStatus == false && (badStatus == true || pmBadStatus == true))
请参阅Java优先规则
你所需要的只是括号。括号前的语句是:
if ((a = true and b = true) OR c = true){
你所需要的只是括号。括号前的语句是:
if ((a = true and b = true) OR c = true){
听起来你的意思是
如果(!critStatus&&(badStatus | | pmBadStatus))
。我喜欢OP在提问时逐字逐句地键入自己问题的答案PBtw,f==true
应该只写f
,而f==false
应该只写!f
。谢谢大家,我当时不确定,我知道少了一些东西。但是这不值得为=//得到-3。听起来你的意思是如果(!critStatus&&(badStatus | | pmBadStatus))
。我喜欢OP在提问时逐字输入自己问题的答案PBtw,f==true
应该只写f
,而f==false
应该只写!f
。谢谢大家,我当时不确定,我知道少了一些东西。但是对于=/,这不值得得到-3。不要将布尔变量与true
或false
进行比较。如果(!critStatus&&(badStatus | | pmBadStatus))不将布尔变量与true
或false
进行比较,则使用。如果(!critStatus&&(badStatus | | pmBadStatus))使用