考虑以下未格式化的嵌套if-else
Java代码
if (condition 1)
if (condition 2)
action 1;
else
action 2;
我的问题是:根据Java语言规范,else
分支适用于什么?
通过手动重新格式化并添加括号,这两个中的哪一个是正确的?
方框1:
if (condition 1) {
if (condition 2) {
action 1;
} else
action 2;
}
}
方框2:
if (condition 1) {
if (condition 2) {
action 1;
}
}
else {
action 2;
}
[Java编程语言,如C和C ++及其之前的许多编程语言,任意决定了else子句可能属于最内部的子句。
第1块是正确的,否则,如果没有括号,如果
,则其他链接到最近的链接if (condition 1)
if (condition 2)
action 1;
else
action 2;
与]相同>
if (condition 1) if (condition 2) action 1; else action 2;
括号也是为了便于理解和方便。在更大的if else语句中,没有方括号会使错误非常普遍
您可以尝试发现else
适用于内部if
:
为了更好的视觉表现,我付了2美分。