Какой будет результат компиляции и выполнения следующего кода?

public class Test {
    public static void main(String[] args) {
        for (final int i : new int[] { 1, 2, 3 }) {
            System.out.println(i + 1);
        }
    }
}
Explanation
Этот цикл for разворачивается компилятором в примерно такую конструкцию:

массив = new int[] { 1, 2, 3 };
for(int индекс = 0; индекс < массив.length; индекс++) {
final int i = массив[индекс];
...
}
Т.е. i - это локальная переменная, которая, как и положено, инициализируется в начале каждой итерации цикла.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Продолжайте изучать
тесты по Java
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты