目前我在 if (roobaf)
block 中有一些代码,这取决于 foo
和 bar
是否为假。我可以在 block 内再次检查这些条件,但感觉像是不必要的代码重复。
if (foo) {
// some code
}
/*else*/ if (bar) { // bar is a condition which needs to be checked
// whether 'foo' is true or false
// more code
}
if (roobaf) {
if (!foo && !bar) {
// even more code
}
}
问题在于,如果 bar
只是一个 if
,那么即使 foo 为真,也会到达 roobaf
。
如果我将 bar
更改为 else if
那么如果 foo
为真那么 bar
将不会被检查.
如何确保 foo
和 bar
始终被选中,而 roobaf
仅在 foo
和 bar
是否被选中?
roobaf
是一个与 foo
和 bar
不互斥的条件,所以把它放在前面是行不通的。
最佳答案
你可以这样做:
if (foo || bar) {
if (foo) {
// do something
}
if (bar) {
// do something
}
}
else {
if (roobaf) {
// do something else
}
}
关于java - 是否可以根据两个(或更多)先前 'else' 的结果创建一个 'if'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56973904/