Как цикл 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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