java - 没有大括号的嵌套 if-else 行为

标签 java if-statement syntax

考虑以下未格式化的嵌套 if-else Java 代码

if (condition 1)
if (condition 2)
action 1;
else
action 2;

我的问题是:根据Java语言规范,else分支适用于什么?

通过手动重新格式化和添加大括号,这两个哪个是正确的?

block 1:

if (condition 1) {
    if (condition 2) {
        action 1;
    } else
        action 2;
    }
}

第 2 部分:

if (condition 1) {
    if (condition 2) {
        action 1;
    }
}
else {
    action 2;
}

最佳答案

来自Java Language Specification :

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.

关于java - 没有大括号的嵌套 if-else 行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17172536/

相关文章:

javascript - 在 const a = b => b([ { var : "foo" }, { var : "baz" } ]); is b a function, 数组,还是变量?

java - Kafka主题分区和Spark执行器映射

java - Spring data - 域对象继承和泛型方法

macos - 在 Mac OSX 上升级 JDK

php - 如何在 PHP 函数中执行 if 语句?

c++ - 如何修复 "no suitable conversion function from "字符串“到 "const char *"存在”?

Delphi:右括号可选?

java - GWT 中事件总线的动机

sql-server - SQL 查询中的 IF 条件

json - IF EXISTS(检查json对象是否包含唯一id),UPDATE表,ELSE INSERT到表中