Поскольку i
не является управляющей переменной в этом цикле, это всего лишь одно из значений в массиве.Для JLS§14.4.2 , для массивов расширенный цикл for
эквивалентен следующему:
Расширенный оператор for эквивалентен основному для оператора формы:
...
for (int #i = 0; #i < #a.length; #i++) {
{VariableModifier} TargetType Identifier = #a[#i];
Statement
}
Таким образом, применяя это к вашему циклу:
int[] ints = {1,2,3};
for (int index = 0; index < ints.length; index++) {
int i = ints[index];
System.out.println(i);
i = 0;
}