gpt4 book ai didi

if语句中的Java变量范围

转载 作者:IT老高 更新时间:2023-10-28 20:57:35 25 4
gpt4 key购买 nike

我收到以下代码的编译错误:

if(true)
int a = 10;
else
int b = 20;

如果我把它改成下面的代码,那么就没有编译错误了:

if(true) {
int a = 10;
}
else {
int b = 20;
}

为什么第一个语法错误,来自什么语言标准?

最佳答案

Java 规范说 if-then-else 语句具有以下形式:

IfThenElseStatement:
if ( Expression ) StatementNoShortIf else Statement

StatementStatementNoShortIf 可以是各种东西,包括 block (用大括号括起来的代码)、赋值(对已声明的变量)、其他 if 语句等。

值得注意的是,该列表中缺少声明语句(例如 int a;int a = 10;),因此会出现编译错误。

有关完整列表,您可以在此处阅读 Java 规范: http://docs.oracle.com/javase/specs/

关于if语句中的Java变量范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27624402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com