【发布时间】:2011-04-08 01:00:30
【问题描述】:
在这里,我们有一个长期存在的假设,需要在我的脑海中澄清。以下是嵌套“if”语句的示例:
if (...)
...;
else if (...)
...;
我的印象是嵌套需要一个“if”在另一个“if”中,就像这样:
if (...)
if (...)
...;
或者当你嵌套在一个 else 中时,至少有一个明确的范围分离,就像这样:
if (...)
...;
else { //if the next statement didn't
//exist, then the curly brace changes nothing?
...;
if (...)
...;
}
这可能归结为编译器如何解释事物,else-if 中的“if”是否被认为与父 if 处于同一级别,或者它们是否创建“新”“if”语句。感谢您的宝贵时间!
edit:我问是因为我是java实验室的TA,当天的主题是nested-ifs。最后,我发现老师认为我的第一个例子对于“嵌套 if 语句”是有效的。
【问题讨论】:
-
我想一般来说你可以说,nested的意思是inside。
-
嵌套在什么意义上?我认为没有 ISO 定义。从可读性的角度嵌套?编译器解析?只是在里面?
-
我会说这几乎与语言无关。
-
恕我直言,您的老师弄错了。我相信他可能对“嵌套”这个词的含义有些困惑。
-
如果老师的意图仅限于识别结构,我可以看出他们是错误的。但在语义上,我同意老师的观点——它是嵌套的。 “else”范围与其“if”范围具有相同的状态(功能和重要性)。
标签: java nested if-statement