可以将以下IF-ELSE块压缩成单个IF语句吗?

use*_*740 2 java if-statement logical-operators

我有以下if-else块:

boolean condA = false, condB = true;

if (!condA) {
    // do WORK_C
} else {
    if (condB) {
        // do WORK_C
    }
}
Run Code Online (Sandbox Code Playgroud)

在写这篇文章时,我意识到我在两个条件匹配中都做了同样的工作.我想知道这是否可以进一步压缩.

如果需要,我愿意提供更多信息/背景.

Ish*_*ael 10

如果你试图口头表达你想要执行的条件,你WORK_C会说"如果condA是假的,或者如果condB是真的".这正是您要在if声明中写的内容:

if (!condA || condB) {
    // do WORK_C
}
Run Code Online (Sandbox Code Playgroud)


Kur*_*nai 5

您可以使用逻辑运算符&&/|| 代替多个if else语句.例如

boolean condA = false, condB = true;

if (!condA || condB) {
    // do WORK_C
}
Run Code Online (Sandbox Code Playgroud)

OR(||)操作符提供了有一个if语句是真实的,如果只有一个的几个条件得到满足的能力.