freeCodeCamp/guide/russian/java/loops/infinite-loops/index.md

66 lines
2.9 KiB
Markdown
Raw Normal View History

2018-10-12 20:00:59 +00:00
---
title: Infinite Loops
2018-10-28 17:13:32 +00:00
localeTitle: Бесконечные циклы
2018-10-12 20:00:59 +00:00
---
2018-10-28 17:13:32 +00:00
# Бесконечные циклы
2018-10-12 20:00:59 +00:00
2018-10-28 17:13:32 +00:00
Бесконечный цикл представляет собой оператор цикла ( `for` , `while` , `do-while` ), который не заканчивается сам по себе.
2018-10-12 20:00:59 +00:00
2018-10-28 17:13:32 +00:00
Условие проверки оператора цикла определяет, будет ли тело цикла выполняться или нет. Таким образом, условие проверки, которое всегда верно, приведет к тому, что тело цикла будет выполняться бесконечно.
2018-10-12 20:00:59 +00:00
Примеры:
```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;
}
}
```
2018-10-28 17:13:32 +00:00
Цикл выше работает бесконечно, потому что каждый раз, когда я приближаюсь к 49, он устанавливается равным 0. Это означает, что я никогда не достигну 100, чтобы завершить цикл, поэтому цикл представляет собой бесконечный цикл.
2018-10-12 20:00:59 +00:00
2018-10-28 17:13:32 +00:00
Программа, застрявшая в таком цикле, будет бесконечно использовать компьютерные ресурсы. Это нежелательно и является типом «ошибки времени выполнения».
2018-10-12 20:00:59 +00:00
2018-10-28 17:13:32 +00:00
Чтобы предотвратить ошибку, программисты используют оператор break для выхода из цикла. 'break' выполняется только при определенном условии. Использование команды выбора, такой как if-else, обеспечивает то же самое.
2018-10-12 20:00:59 +00:00
```java
while (true)
{
// do something
if(conditionToEndLoop == true)
break;
// do more
}
```
2018-10-28 17:13:32 +00:00
Основным преимуществом использования бесконечного цикла над регулярным циклом является легкость чтения.
2018-10-12 20:00:59 +00:00
2018-10-28 17:13:32 +00:00
Иногда тело цикла легче понять, если цикл заканчивается посередине, а не в конце / начале. В такой ситуации лучшим выбором будет бесконечный цикл.