Java 复合语句总是1块吗?

Java 复合语句总是1块吗?,java,if-statement,Java,If Statement,if复合语句是1块。 复合语句由0个或多个语句组成 现在如果你有 if (expression) { // do something } else { // do something else } 这是一个复合语句还是两个复合语句? 1个复合语句=1个块? 就因为这两个街区似乎是属于一起的 复合语句由一组大括号内的一个或多个语句组成:{} 资料来源:) 这意味着这是两个复合语句,因为有两组花括号。上述声明可以这样表示: if (expression) { // do s

if复合语句是1块。 复合语句由0个或多个语句组成

现在如果你有

if (expression) {
    // do something
}
else {
    // do something else
}
这是一个复合语句还是两个复合语句? 1个复合语句=1个块? 就因为这两个街区似乎是属于一起的

复合语句由一组大括号内的一个或多个语句组成:{}

资料来源:)

这意味着这是两个复合语句,因为有两组花括号。上述声明可以这样表示:

if (expression) {
    // do something
}

if (!expression) {
    // do something else
}
编辑: 在java中,如果只有一个命令要执行,某些命令允许您跳过大括号(如
while
if
)。例如:

if (expression) doSomething();
else doSomethingElse();

这些语句也将被视为双复合语句,因为编译器对它的处理与上述相同。

这是一条单语句,特别是@AndyTurner,所以你说一条复合语句可以由多个块组成?当然可以,因为你也可以总是有嵌套块。@AndyTurner对C#是真的吗,还是AlanSereb?“Java中没有一个“复合语句”(至少java语言没有提到或调用它)C++是不存在的。Java@PatrikNusszer,这里有一个关于Java的。然而,这是相同的概念。(2.6.2). 我选择这个例子是因为它的短小和快速理解概念的能力。我很伤心,你忽略了我的答案,只是因为你在那个上下文中找到了C++。编程语言有许多共同的概念,包括这个。是的,这就是通过对表达式求反将else转换为if的方法。如果有,你会怎么做?声明被认为是按顺序执行的,但如果执行了if条款,则else if条款将不会生效。我不会忽略它。我对这是一个普遍的规则感到高兴,但实际上,这似乎是一个非常孤立的案例,因为在其他地方,在微软的C文档中,当我读到C和C++时,当我在W3Script中阅读关于JavaScript的文章时,我看到如果,否则,如果是所有不同的复合语句。是的,复合语句总是块。谢谢你的回答!