为什么不能在 if 语句中声明变量?
以下 Java 代码无法编译。
int a = 0;
if(a == 1) {
int b = 0;
}
if(a == 1) {
b = 1;
}
为什么?在没有事先声明的情况下,不能有代码路径导致程序分配 1。b
我突然想到,变量范围可能仅限于第一个语句,但后来我不明白为什么。如果我真的不想为了提高性能而进行不必要的声明,该怎么办?我不喜欢在声明后未使用变量。b
if
b
(你可能想争论,而不是我可以简单地在第二个语句中声明b,在这种情况下,想象一下它可能在其他地方的循环中。if