I'm trying to understand on a deeper level if I'm missing something as to understanding when Java needs an initialization of a variable vs a simply declaration. In the following code, the variable 'row' doesn't need to be assigned a value to compile and run, however, the variable 'column' does.
Note: This program does nothing of use - it's been trimmed to display only whats necessary for this question as to not waste peoples valuable time.
Here's the code snippet:
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);
Why does row compile w/o initialization at the top, but Java thinks column "might not have been initialized."?