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

时间:2015-12-07 05:02:34

标签: java if-statement logical-operators

我有以下if-else块:

boolean condA = false, condB = true;

if (!condA) {
    // do WORK_C
} else {
    if (condB) {
        // do WORK_C
    }
}

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

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

2 个答案:

答案 0 :(得分:10)

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

if (!condA || condB) {
    // do WORK_C
}

答案 1 :(得分:5)

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

boolean condA = false, condB = true;

if (!condA || condB) {
    // do WORK_C
}

如果只满足几个条件中的一个, OR(||)运算符可以使if语句为真。