参加Java课程,有点困惑。多路if语句和嵌套if语句之间有什么区别?
答案 0 :(得分:3)
说你有两个碗。
在多方'if'语句中,你只能吃掉其中一个。
if ( choice.equals( "apples" )) {
eatApples();
}
else if ( choice.equals( "oranges")) {
eatOranges();
}
在嵌套的'if'语句中,碗嵌套在一起。你可能会把外面的薯片吃掉,而可能将它们浸入中间的莎莎酱中。
if ( choice.equals( "chips" )) {
getChip();
if ( dip.equals( "salsa")) {
dipChipInSalsa();
}
}
答案 1 :(得分:1)
<强>摘要强>
在语言层面,没有根本的区别。有些人可能称之为“嵌套if”和“multi-way if”实际上只是嵌套if
/ else
块的两种特殊配置。它们肯定不是唯一的选择,更不用说相互排斥了。
<强>详细强>
一般来说,条件可以任意嵌套:
if (a) {
stuff();
if (b) {
...
} else {
...
}
} else {
moreStuff();
if (c) {
...
} else {
...
}
}
我们称之为“嵌套if”的确是这样:
if (a) {
// Blank!
if (b) {
...
} else {
// Blank!
}
} else {
// Blank!
}
和“multi-way if”就是这样:
if (a) {
...
} else {
// Blank!
if (b) {
...
} else {
...
}
}
(注意:C中没有else if
构造。)