class Myclass {
public static void main(String[] args) {
int x; // Declared in main method
if (true) {
for (int i = 0; i < 5; i++) {
x = 5;// initialized inside loop
}
}
System.out.println(x);// accessing outside for loop
}
}
这给出了一个错误:变量 x 可能没有被初始化 System.out.println(x); ^ 1 错误;
但是,下面的代码工作正常
class Myclass {
public static void main(String[] args) {
int x; // Declared in main method
if (true) {
x = 5;// initialized in if block
for (int i = 0; i < 5; i++) {
// x=5;
}
}
System.out.println(x);// accessing outside if loop
}
}
在这两个代码中,唯一的区别是在第一种情况下,变量在“for 循环”中初始化,而在第二种情况下,它在“if 块”中初始化。那么为什么它会有所作为。请向我解释,因为我无法找到真正的原因。
HUH函数
繁花如伊
慕村225694
相关分类