Consider the following unformatted nested if-else Java code
if (condition 1)
if (condition 2)
action 1;
else
action 2;
My question is: according to the Java language specifications, to what if does the else branch apply?
By hand-reformatting and adding braces, which of these two is correct?
Block 1:
if (condition 1) {
if (condition 2) {
action 1;
} else
action 2;
}
}
Block 2:
if (condition 1) {
if (condition 2) {
action 1;
}
}
else {
action 2;
}
解决方案
The Java programming language, like C and C++ and many programming languages before them, arbitrarily decrees that an else clause belongs to the innermost if to which it might possibly belong.