Циклы нужны для многократного повторения какого-либо действия. Один шаг цикла называется итерацией.
Самый распространённый оператор цикла — for
for (начальная установка; условие; действия после итерации) {
// здесь указываются повторяемые действия
}
Начальная установка — действие, которое выполняется однократно, перед запуском цикла.
Условие — булево выражение, истинность которого проверяется перед каждой итерацией.
Действие после итерации. Обычно здесь инкрементируется (увеличивается на один) значение переменной-счётчика.
Например, код
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
выведет на экран:
0 1 2 3 4
Схематически это можно представить так:
Аналогичный цикл с другими параметрами
for (int i = 7; i < 14; i += 2) {
System.out.println(i);
}
выведет на экран:
7 9 11 13
Пример: звёздочки в пароле
Допустим, в пароле пользователя шесть знаков. Код:
System.out.print("Ваш пароль: ");
// метод print, в отличие от println, не создаёт новую строку
for (int i = 0; i < 6; i++) {
System.out.print("*");
}
выведет на экран:
Ваш пароль: ******
Самой простой оператор цикла — while
while (условие) {
// действия
}
Такой цикл выполняется, пока истинно условие.
Возьмём такой цикл for:
for (int i = 0; i < 5; i++) {
System.out.println(i);
}
и перепишем его, чтобы использовать while:
int i = 0;
while (i < 5) {
System.out.println(i);
i++;
}
Цикл while зачастую используется, когда количество итераций не определено заранее. Например, можно скачивать файл из интернета кусочками по 1 КиБ и записывать на жёсткий диск — это действие нужно повторять, пока «кусочки» не закончатся.