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
上部に初期化なしでコンパイルするのに、Javaはcolumn
「初期化されていない可能性がある」と考えているのですか?