gpt4 book ai didi

java - 为什么不能在 if 语句中声明变量?

转载 作者:太空狗 更新时间:2023-10-29 22:36:16 27 4
gpt4 key购买 nike

以下 Java 代码无法编译。

int a = 0;

if(a == 1) {
int b = 0;
}

if(a == 1) {
b = 1;
}

为什么?没有代码路径导致程序将 1 分配给 b 而不是先声明它。

我想到 b 的变量范围可能仅限于第一个 if 语句,但后来我不明白为什么。如果我真的不想为了提高性能而不必要地声明 b 怎么办?我不喜欢变量在声明后未被使用。

(你可能想争辩说我可以在第二个 if 语句中简单地声明 b,在那种情况下,只需想象它可能在其他地方的循环中。)

最佳答案

变量可以在条件语句中声明。但是,您尝试在不同的范围内访问 b

当你在这里声明 b 时:

if(a == 1) {
int b = 0;
}

它只在范围内,直到结束

因此当你来到这一行时:

b = 1;

b 不存在。

关于java - 为什么不能在 if 语句中声明变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17444020/

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