Загрузка...

Циклы while в Java

Перед любым циклом положите целое число 1 под именем k. Напишите while (k <= 3) и внутри фигурных скобок напечатайте k, затем снова сохраните k + 1 в k. На экране должны появиться три строки: 1, затем 2, затем 3. Старт стоит выше while. Проверка живёт в круглых скобках. Шаг живёт в фигурных. Именно это разделение и учит страница.

Старт снаружи, проверка в while, шаг внутри

Создайте небольшой файл программы с именем Pulse.java. public class в первой строке должен совпадать с именем файла: public class Pulse. Не оставляйте в этом файле старое имя класса Beat или Dial; компилятор ждёт, что имя класса и имя файла совпадут.
Внутри main сначала сохраните счётчик:
int k = 1;
Эта строка не внутри while. Она только начинает k с 1. Затем цикл:
while (k <= 3) {
System.out.println(k);
k = k + 1;
}
Слово while пишется маленькими буквами. Внутри круглых скобок сидит только проверка: k <= 3. В тех скобках нет ни старта, ни шага — в отличие от строки for, которую вы видели раньше. Фигурные скобки держат и строку записи, и шаг. System.out.println(k); пишет текущее число без кавычек вокруг k. Затем k = k + 1; сохраняет под k на единицу больше, чтобы следующая проверка когда‑нибудь стала ложной. Сохраните файл перед компиляцией.

Программа, которая печатает 1, затем 2, затем 3

Это версия, которую вы компилируете первой.

k от 1 до 3

java
public class Pulse {
    public static void main(String[] args) {
        int k = 1;
        while (k <= 3) {
            System.out.println(k);
            k = k + 1;
        }
    }
}

Из папки, где лежит Pulse.java, выполните javac Pulse.java. Когда круглые скобки, фигурные скобки и точки с запятой совпадают, javac не пишет ни одной своей строки. Затем выполните java Pulse — не java Pulse.java. Окончание .java у второй команды уберите. Те же две команды работают и в Windows, и в macOS; эта страница не требует другого написания оболочки ни для одной из систем. Программа должна напечатать три строки и остановиться: 1, затем 2, затем 3. Она не ждёт, пока вы что‑то наберёте. Если терминал ждёт ввода с клавиатуры, в файле ещё остался вызов nextLine из старого упражнения. Удалите этот вызов и оставьте int вместе с while выше. Из‑за неверной строки на экране новый JDK ставить не нужно.

Пройдите один полный запуск по порядку. k начинается с 1 до while. Проверка k <= 3 истинна, поэтому тело выполняется: println пишет 1, затем шаг сохраняет 2. Проверка всё ещё истинна: пишет 2, сохраняет 3. Проверка всё ещё истинна: пишет 3, сохраняет 4. Теперь k <= 3 ложно, и цикл заканчивается. Старт выполнился один раз, выше цикла. Проверка — перед каждым проходом. Шаг — внутри фигурных скобок после каждой печати. Эти три задачи — те же идеи, что и в for, но они не упакованы в одну строку заголовка. Если вы опустите k = k + 1; и оставите k навсегда равным 1, проверка останется истинной и та же строка может печататься без остановки — именно поэтому на этой странице шаг принадлежит телу.

Расширьте проверку

Измените только проверку, чтобы цикл шёл на один шаг дальше:
int k = 1;
while (k <= 4) {
System.out.println(k);
k = k + 1;
}
Старт и шаг не трогайте. Теперь на экране должно быть четыре строки: 1, 2, 3 и 4.

k от 1 до 4

java
public class Pulse {
    public static void main(String[] args) {
        int k = 1;
        while (k <= 4) {
            System.out.println(k);
            k = k + 1;
        }
    }
}

Скомпилируйте и запустите снова: javac Pulse.java, затем java Pulse. Вы должны увидеть четыре строки. Вы не переписывали println и не шаг — изменилась только проверка внутри while (…). После того как вы увидели четыре строки, можете вернуть k <= 3, чтобы снова получить первое демо. Обе версии — корректный Java. Они учат одну и ту же форму while с разной точкой остановки.

Прочитайте четырёхстрочный запуск ещё раз. k начинается с 1. Каждая истинная проверка печатает текущее k и затем добавляет 1. Когда k становится 5, проверка не проходит и цикл останавливается. Цифра 5 в этом демо на экране не появляется, потому что тело выполняется только пока проверка ещё истинна.

📊 k и экран первого демо

k перед println Строка экрана
1 1
2 2
3 3

Используйте таблицу как проверку после первого демо, а не вместо запуска. Перед каждым println в том демо k держит число, которое появится на этой строке. После третьей печати шаг сохраняет 4 и проверка не проходит. Если на версии без шага экран никогда не останавливается, верните k = k + 1; внутрь фигурных скобок — Java заново не устанавливайте.

Правила, которые держат while ясным

Круглые скобки вокруг проверки обязательны. Написание while k <= 3 { … } без скобок заставляет javac завершиться с ошибкой. Тело на этой странице всегда сидит в фигурных скобках, потому что к каждому проходу относятся две строки: println и шаг. Если вы оставите шаг после закрывающей фигурной скобки, он выполнится один раз после конца цикла — а внутри цикла k не меняется, поэтому цикл может крутиться вечно. Держите шаг внутри фигурных скобок в обоих демо.

while — это не for и не switch. for упаковывает старт, проверку и шаг в одну строку заголовка. while держит в заголовке только проверку и просит вас самим разместить старт и шаг. switch один раз выбирает среди меток case. Не оставляйте в том же main цикл for со страницы Beat или switch со страницы Dial и потом не удивляйтесь, почему экран показывает оставшийся заголовок в стиле for или слово mid. main этой сессии должен держать только int и while.

Частая путаница — печатать сам синтаксис: System.out.println("while (k <= 3)");. Это пишет символы заголовка while. Оно не повторяется. Другая путаница — кавычки вокруг k: System.out.println("k"); пишет букву k на каждом проходе. Держите println(k) без кавычек, когда хотите счётчик на экране. Если проверка уже ложна, когда while достигается впервые — например k начинается с 5, а проверка говорит k <= 3 — тело никогда не выполняется и экран остаётся пустым. Это всё ещё корректный while; демо этого урока держат проверку, которая хотя бы один раз истинна, чтобы вы увидели напечатанные строки.

Что вы теперь можете сделать

Вы можете начать счётчик выше while, поставить проверку в while (…), и держать и println, и шаг внутри фигурных скобок. Изменение проверки меняет, сколько строк вы получите. Следующая страница — break и continue: там вы рано выходите из цикла или пропускаете один проход, не заканчивая весь цикл.

🧠 Проверьте Свои Знания

Готов к Началу

Проверьте Свои Знания

Бросьте себе вызов с помощью этой интерактивной викторины и узнайте, насколько хорошо вы понимаете тему

❓
6
Вопросы
🎯
70%
Для Прохождения
♾️
∞
Время
🔄
∞
Попытки

📝 Инструкции

  • Внимательно прочитайте каждый вопрос
  • Выберите лучший ответ на каждый вопрос
  • Вы можете пересдавать тест столько раз, сколько захотите
  • Ваш прогресс будет показан вверху