Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何编写具有多个条件的if语句?_Java_Boolean Logic_Boolean Operations - Fatal编程技术网

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

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语句,如果a是真的,如果(b或c)中的任何一个是真的,那么做些什么

我写过这篇文章,但我不确定它的逻辑是否正确

if (critStatus == false && badStatus == true || pmBadStatus == true) {
//do something
}
基本上,如果critStatus为false&如果badstatus或pmbadstatus为true,那么它应该做些什么。

(A和B)| CA和(B | C)的计算结果不同,顺序将取决于括号的位置

你是说

if (!critStatus && (badStatus || pmBadStatus)) {
    //do something
}
(A&&B)| CA&&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))使用