出于某种原因,即使我在 for 循环之外初始化变量,我的代码也不会编译...
public static void main(String[] args) {
int x;
for (int i = 0; i < 4; i++){
x = 10;
}
System.out.println(x);
}
我收到错误:
error: variable x might not have been initialized
System.out.println(x);
任何帮助将不胜感激,因为我知道答案将如此简单。
你声明了变量,你没有初始化它,如果没有任何优化,编译器将不知道你的循环是否曾经产生过一次迭代来实际初始化它。尝试:
public static void main(String[] argv) {
int x = 0;
for (int i = 0; i < 4; i++){
x = 10;
}
System.out.println(x);
}
诚然,这是java编译器的一个相当愚蠢的“特性”。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句