66 lines
2.9 KiB
Markdown
66 lines
2.9 KiB
Markdown
---
|
||
title: Infinite Loops
|
||
localeTitle: Бесконечные циклы
|
||
---
|
||
# Бесконечные циклы
|
||
|
||
Бесконечный цикл представляет собой оператор цикла ( `for` , `while` , `do-while` ), который не заканчивается сам по себе.
|
||
|
||
Условие проверки оператора цикла определяет, будет ли тело цикла выполняться или нет. Таким образом, условие проверки, которое всегда верно, приведет к тому, что тело цикла будет выполняться бесконечно.
|
||
|
||
Примеры:
|
||
|
||
```java
|
||
// Infinite For Loop
|
||
for ( ; ; )
|
||
{
|
||
// some code here
|
||
}
|
||
|
||
// Infinite While Loop
|
||
while (true)
|
||
{
|
||
// some code here
|
||
}
|
||
|
||
// Infinite Do While Loop
|
||
do
|
||
{
|
||
// some code here
|
||
} while (true);
|
||
```
|
||
|
||
Обычно, если ваш цикл работает бесконечно, это ошибка, которая не должна возникать, поскольку бесконечный цикл не останавливается и предотвращает запуск остальной части программы.
|
||
|
||
```java
|
||
for(int i=0;i<100;i++){
|
||
|
||
if(i==49){
|
||
i=0;
|
||
}
|
||
|
||
}
|
||
```
|
||
|
||
Цикл выше работает бесконечно, потому что каждый раз, когда я приближаюсь к 49, он устанавливается равным 0. Это означает, что я никогда не достигну 100, чтобы завершить цикл, поэтому цикл представляет собой бесконечный цикл.
|
||
|
||
Программа, застрявшая в таком цикле, будет бесконечно использовать компьютерные ресурсы. Это нежелательно и является типом «ошибки времени выполнения».
|
||
|
||
Чтобы предотвратить ошибку, программисты используют оператор break для выхода из цикла. 'break' выполняется только при определенном условии. Использование команды выбора, такой как if-else, обеспечивает то же самое.
|
||
|
||
```java
|
||
while (true)
|
||
{
|
||
// do something
|
||
|
||
if(conditionToEndLoop == true)
|
||
break;
|
||
|
||
// do more
|
||
}
|
||
```
|
||
|
||
Основным преимуществом использования бесконечного цикла над регулярным циклом является легкость чтения.
|
||
|
||
Иногда тело цикла легче понять, если цикл заканчивается посередине, а не в конце / начале. В такой ситуации лучшим выбором будет бесконечный цикл.
|