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)
您可以使用逻辑运算符&&/|| 代替多个if else语句.例如
boolean condA = false, condB = true;
if (!condA || condB) {
// do WORK_C
}
Run Code Online (Sandbox Code Playgroud)
该OR(||)操作符提供了有一个if语句是真实的,如果只有一个的几个条件得到满足的能力.