如果我遗漏了一些关于 Java 何时需要初始化变量而不是简单声明的信息,我会尝试更深入地理解。在下面的代码中,变量 'row' 不需要被赋值来编译和运行,但是,变量 'column' 需要。
注意:该程序没有任何用处 - 它已被修剪为仅显示此问题所必需的内容,以免浪费人们宝贵的时间。
这是代码片段:
int row; //row doesn't need initialization
int column=0; //column does need initialization
for (row=0; row<2; row++){
for (column=0; column<2; column++){
}
}
System.out.print("Col:" + column + " row:" + row);
为什么row
在顶部编译 w/o 初始化,但 Java 认为column
“可能尚未初始化。”?