Может возникнуть ситуация, когда вам нужно выполнить блок кода несколько раз. Обычно операторы выполняются последовательно: сначала выполняется первый оператор в функции, затем второй и т. д.
Языки программирования предоставляют различные управляющие структуры, которые позволяют выполнять программу более сложные путями.
Оператор цикла выполняет оператор или группу операторов несколько раз. Вот общая форма оператора цикла, обычно используемая в языках программирования:
Язык программирования D предоставляет следующие типы циклов. Нажмите на ссылки, чтобы изучить их подробнее.
Номер | Тип цикла и Описание |
---|---|
1 | Цикл while
Повторяет оператор или группу операторов, пока данное условие истинно. Условие проверяется перед выполнением тела цикла. |
2 | Цикл for
Выполняет последовательность операторов несколько раз и сокращает код, управляющий переменной цикла. |
3 | Цикл do...while
Аналогичен оператору while, за исключением того, что условие проверяется в конце тела цикла. |
4 | Вложенные циклы
Вы можете использовать один или несколько циклов внутри другого цикла while, for, или do..while. |
Авторы не упомянули ещё один вид цикла в языке D – оператор foreach.
Этот оператор предназначен для итерирования по содержимому составных конструкций (агрегатов),
например: по массивам, по ассоциативным массивам, по символам в строке, по диапазонам, по кортежам,
также этот оператор можно применять к классам и структурам, у которых определена специальная функция opApply.
Вот пример перебора символов в строке:
import std.stdio;
void main() {
foreach (char c; "12345")
{
writeln(c);
}
}
– доп. пер.
Операторы управления циклом изменяют обычную последовательность выполнения. Когда выполнение оставляет область видимости, все автоматические объекты, созданные в этой области, уничтожаются.
D поддерживает следующие управляющие операторы:
Номер | Оператор управления и Описание |
---|---|
1 | Оператор break
Завершает цикл или оператор switch и передает выполнение оператору, стоящему сразу после цикла или switch. |
2 | Оператор continue
Заставляет цикл пропустить оставшуюся часть его тела и сразу же перейти к условию следующего повтора цикла. |
Цикл становится бесконечным циклом, если условие никогда не станет ложным. Традиционно для этой цели используется цикл for. Поскольку ни одно из трёх выражений, которые образуют цикл for, не является обязательным, вы можете сделать бесконечный цикл, оставив условное выражение пустым.
import std.stdio; int main () { for( ; ; ) { writefln("Этот цикл будет работать вечно."); } return 0; }
Когда условное выражение отсутствует, оно считается истинным. У вас может быть выражение инициализации и инкремента, но программисты на D чаще используют конструкцию for(;;) для обозначения бесконечного цикла.
ЗАМЕЧАНИЕ − Вы можете завершить бесконечный цикл, нажав клавиши Ctrl + C.