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
}Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else