Сухов С. А.
Шрифт:
6. ЦИКЛЫ
Циклами называются конструкции, в которых один и тот же блок программного кода многократно выполняется до тех пор, пока не будет выполнено условие окончания цикла. Любой цикл можно разделить на 4 части: инициализацию, тело, итерацию и условие завершения. Инициализация — это код, определяющий начальные условия цикла. Тело - это оператор, выполнение которого необходимо повторить несколько раз. Итерация - код, который требуется выполнить сразу после очередного выполнения тела. Код итерации часто используется для увеличения (уменьшения) значений счетчиков и индексов. Завершение - это логическое выражение, которое вычисляется на каждом проходе цикла. В зависимости от его значения цикл или завершается или продолжает выполняться. В Java есть три циклические конструкции: while, do-while и for.
Цикл while - это основная циклическая конструкция в Java. Этот цикл многократно выполняется до тех пор, пока значение логического выражения равно true. Ниже приведена общая форма оператора while:
Инициализация и итерация необязательны. Пока значение логического выражения равно true, продолжается выполнение тела цикла. Ниже приведен пример цикла while для печати пяти строк «while».
}
В результате исполнения программы вы получите следующий результат:
Иногда возникает потребность выполнить тело цикла по крайней мере один раз, даже в том случае, когда логическое выражение с самого начала принимает значение false. Для таких случаев в Java используется циклическая конструкция do-while. Ее общая форма записи такова:
В следующем примере тело цикла выполняется до первой проверки условия завершения. Это позволяет совместить код итерации с условием завершения:
}
}
Опреатор for предназначен для компактной записи циклов. В этом операторе предусмотрены места для всех четырех частей цикла. Ниже приведена общая форма оператора записи for:
Любой цикл, записанный с помощью оператора for, можно записать в виде цикла while и наоборот. Если начальные условия таковы, что при входе в цикл условие завершения не выполнено, то операторы тела и итерации не выполняются ни одного раза. В канонической форме цикла for происходит увеличение целого значения счетчика с минимального значения до определенного предела.
Следующий пример — вариант программы, ведущей обратный отсчет.
Обратите внимание — переменные можно объявлять внутри раздела инициализации оператора for. Переменная, объявленная внутри оператора for, действует в пределах этого оператора.
Иногда возникают ситуации, когда разделы инициализации или итерации цикла for требуют нескольких операторов. Поскольку составной оператор в фигурных скобках в заголовок цикла for вставлять нельзя, Java предоставляет альтернативный путь. Применение запятой (,) для разделения нескольких операторов допускается только внутри круглых скобок оператора for. Ниже приведен пример цикла for, в котором в разделах инициализации и итерации стоит несколько операторов.