Как цикл for проверяет свои условия в Java?JAVA

Программисты JAVA общаются здесь
Anonymous
Как цикл for проверяет свои условия в Java?

Сообщение Anonymous »

Мой вопрос касается порядка, в котором Java проверяет условия цикла for, когда есть оператор печати в «условиях» цикла. Кажется, что это непрактично (я никогда не видел, чтобы это использовалось каким-либо практическим способом), хотя мое непонимание того, что печатается, заставляет меня думать, что я, возможно, не до конца понимаю, как функционирует цикл for. На недавнем экзамене возник следующий вопрос:

Что напечатает следующий метод при вводе n = 5?

Код: Выделить всё

public static void mystery(int n) {
for (int i = -1; i < n; System.out.print(i + " ")) {
i++;
}
}
Правильный ответ:
0 1 2 3 4 5

Мне кажется, что цикл должен напечатать -1, затем увеличить i на 1, вывести 0..... до тех пор, пока я не = 4. Затем он напечатает 4, увеличит i на 1 и вырвется из цикла при условии i < n.
Почему это правильный ответ? и почему моя логика ошибочна?

Подробнее здесь: https://stackoverflow.com/questions/204 ... ns-in-java

Вернуться в «JAVA»