Java中的“else if”是一个整体还是两个单独的关键字?

时间:2009-04-19 22:18:16

标签: java

我碰巧阅读了SCJP认证的练习材料,我刚刚跳过了流程控制等的一章,他们给人的印象是“else if”本身就是一个关键词。我一直以为它只是一个普通的else,只包含一个if块,省略了大括号。

那么,这是什么?

编辑:我想强调的是,这个问题更像是“我的兴趣”类别,而不是“严肃的商业”类别。

8 个答案:

答案 0 :(得分:10)

是的,它们是两个单独的关键字 - Java language specification未指定else if关键字。实际上,正如其他海报所说的那样,if语句中包含else语句。

编辑:许多培训/教育材料似乎暗示else if实际上是一个关键字(事实上,它通常被视为关键字),但我倾向于认为这更多是为了为了清晰/简单,以牺牲准确性为后果。

答案 1 :(得分:6)

这两个单词之间的空格表示两个单独的关键字。

答案 2 :(得分:6)

实际上是说

else {
    if { ... }
}

答案 3 :(得分:3)

这是两个关键词。

其他后面可能跟一个块或一个语句。

else if 的情况下。该声明是另一个 if 声明。

<强>更新

提及其他如果是深层嵌套的 if 语句的常见样式选择并使这种情况比嵌套更具可读性,那就没什么坏处。除非我需要使用开关语句来实现这种下降行为,否则我会使用 else if

答案 4 :(得分:1)

我相信两个单独的关键字。但我很肯定你没有其他没有 if

Java Lexical Structure

答案 5 :(得分:1)

虽然有些语言确实有'elsif','elseif'或'else if'作为单独的语句(有点像'case'语句),但Java并不是其中之一。

答案 6 :(得分:0)

我不是Java专家,但在C语言中,它肯定被定义为两个不同的关键词,Java从C语法的那一部分中偷走了。

无论如何,除了考试上的愚蠢问题之外,它在实践中不会有所作为。无论哪种方式,效果都是相同的。

答案 7 :(得分:0)

如果使用调试器打开程序集,则会识别出它的“if”语句。