我寫了一個簡單的「在多維數組中查找數字」,它包含在官方的java教程中。這裏是教程中包含的代碼:爲什麼在Java中必須初始化嵌套循環控制變量?
class LabeledBreak {
public static void main(String[] args) {
int [][] numbers = {
{22, 34, 675, 23, 23},
{34, 76, 98, 23, 11},
{65, 234, 87, 23, 76}
};
int searchFor = 123;
boolean found = false;
int i;
int j = 0; // <-- this line
search:
for (i = 0; i < numbers.length; i++) {
for (j = 0; j < numbers[i].length; j++) {
if (searchFor == numbers[i][j]) {
found = true;
break search;
}
}
}
if (found == true)
System.out.println("Found " + searchFor + " at index " + i + ", " + j);
else
System.out.println(searchFor + " not found!!!");
}
我不明白這裏初始化「j」有什麼意義。我嘗試刪除初始化語句,並將其作爲聲明。但我得到的錯誤:
「變量j可能尚未初始化」
我爲什麼要初始化「J」?爲什麼「我」不需要初始化呢?