@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. Универсальный ответ - открой для себя отладку, по шагам проходи по своей программе и смотри на каждом шаке значения переменных, сравнивая их с ожидаемыми и поведением.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
23 нояб. 2024, в 00:16
2000 руб./за проект
22 нояб. 2024, в 23:55
3000 руб./за проект
22 нояб. 2024, в 22:26
3500 руб./за проект