Menu
Coddy logo textTech

Infinite Loop

Часть раздела Основы путешествия по Java на Coddy — урок 49 из 73.

Бесконечный цикл — это цикл, который никогда не останавливается, потому что его условие всегда вычисляется как true. Такие циклы могут возникать с любым типом цикла (for, while, do-while), но они чаще всего ассоциируются с циклами while и do-while, потому что их условия явно указаны.

Вот пример бесконечного while цикла:

while (true) {
    System.out.println("This will print forever!");
}

В этом случае условие просто true, которое всегда вычисляется как true. Таким образом, цикл будет выполняться бесконечно, выводя сообщение снова и снова.

Другой способ создать бесконечный цикл — это опустить условие в цикле for:

for (;;) {
    System.out.println("This also prints forever!");
}

Здесь части инициализации, условия и обновления цикла for полностью опущены. Это создаёт цикл, который работает бесконечно.

Бесконечные циклы также могут возникать непреднамеренно, например, когда условие цикла всегда true из-за логической ошибки:

int i = 0;
while (i < 10) {
    System.out.println("i is: " + i);
    // Missing i++ to increment i
}

В этом примере переменная i никогда не инкрементируется, поэтому условие i < 10 всегда true. Это создает бесконечный цикл, который будет бесконечно выводить "i is: 0".

Бесконечные циклы могут быть полезны в некоторых случаях, например, в серверных программах, которые должны продолжать работать до ручной остановки. Однако они также могут привести к зависанию или аварийному завершению программ, если не обрабатываются должным образом.

Шпаргалка

Бесконечный цикл — это цикл, который никогда не останавливается, поскольку его условие всегда вычисляется как true.

Преднамеренный бесконечный цикл while:

while (true) {
    System.out.println("This will print forever!");
}

Преднамеренный бесконечный цикл for (пропуская все части):

for (;;) {
    System.out.println("This also prints forever!");
}

Непреднамеренный бесконечный цикл (отсутствует инкремент):

int i = 0;
while (i < 10) {
    System.out.println("i is: " + i);
    // Missing i++ to increment i
}

Попробуйте сами

В этом уроке нет задания по программированию.

quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Основы