gpt4 book ai didi

Java,在不带花括号的if语句中声明变量

转载 作者:行者123 更新时间:2023-12-02 05:55:59 26 4
gpt4 key购买 nike

我的代码有问题:

if (false)
int i = 9;
...

我意识到它是无用的,因为 if 语句的范围仅包含声明,并且在其声明后我将无法访问,因为它将超出范围,也许编译器足够聪明,可以避免这种情况。如果我包含花括号,一切都会正常,也许是因为编译器知道我可以在声明后编写更多代码并在该代码中使用变量。我只是想知道,这真的是我收到编译时错误的原因还是有更深入的解释?我得到:

A.java:4: '.class' expected
int i = 4;
^
A.java:4: not a statement
int i = 4;
^
A.java:4: illegal start of expression
int i = 4;
^
A.java:4: ';' expected
int i = 4;
^
4 errors

提前致谢,亚历山德罗

最佳答案

取自关于 Local Variable Declaration 的 Java 规范:

Every local variable declaration statement is immediately contained by a block. Local variable declaration statements may be intermixed freely with other kinds of statements in the block.

这是 devnull 指出的一个答案的评论。

关于Java,在不带花括号的if语句中声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23081428/

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