@sammyKj

Как работают циклы с оператором if?

У меня есть небольшой код, помогите понять почему в результате в консоль будет выведено 7 записей "YES"?
public class Main {
    public static void main(String[] args) {
        for (int i = 0; i < 10;) {
            if (i < 5) {
               i = i + 1;
            }
            i = i + 1;
            System.out.println("YES");
        }
    }
  • Вопрос задан
  • 147 просмотров
Решения вопроса 1
@rPman
потому что вывод YES никак не связан с твоим if, он вне его записан, дальше - выход из цикла определен условием в for (цикл будет работать пока i<10), внутри условия if у тебя стоит дополнительное увеличение i на единицу, а так же на каждом шаге в цикле i увеличивается на 1, значит значение i у тебя на каждом шаге цикла будут 0,2,4,6,7,8,9 - т.е. 7 раз

p.s. Универсальный ответ - открой для себя отладку, по шагам проходи по своей программе и смотри на каждом шаке значения переменных, сравнивая их с ожидаемыми и поведением.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы