gpt4 book ai didi

java - 有或没有 'IF' 语句的主体范围不同

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:53:35 26 4
gpt4 key购买 nike

这很简单,但让我感到困惑,我了解到 body 范围是
第一行断点,但是在第 1 个 if 语句下面出现错误(不是语句),第 2 个没问题。

我只是想要而已,为什么会报错?

if (true)
String name="Body Test";

if (true) {
String name="Body Test";
}

异常:

Exception in thread "main" java.lang.Error: Unresolved compilation problems: 
Syntax error, insert ":: IdentifierOrNew" to complete ReferenceExpression
Syntax error, insert "AssignmentOperator Expression" to complete Assignment
Syntax error, insert ";" to complete Statement String cannot be resolved to a variable

最佳答案

if (true) String name="Body Test"; 无效,因为将新变量引入作用域不能是有条件的,因为它发生在编译时间。请注意,Java 不够聪明,无法意识到 if (true)始终 运行。您编写它的另一种方式绝对没问题,因为 {} 总是 包含 name

这有点类似于在 switch block 的特定 case 中引入一个新变量,而不使用 {}.

关于java - 有或没有 'IF' 语句的主体范围不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39876183/

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