Цикл со счетчиком for
Цикл for – улучшенный вариант цикла while со счетчиком. Он был создан специально для этого. Вот как выглядит код нашей программы с ним, которая считает от 1 до 5 и обратно:
for (int i = 1; i <= 5; i++)
{
System.out.println («Считаю "+i);
}
for (int i = 5; i> 0; i – )
{
System.out.println («Считаю назад "+i);
}
Как вы видите цикл for состоит из трех частей (обычно): 1) объявление переменной-счетчика; 2) объявление условия, которое должно соблюдаться, чтобы исполнялось тело цикла; 3) операция изменения счетчика, в нашем случае обычный инкремент (а можно было написать i+=1 или даже i=i+1). Все эти три части можно разнообразить или вообще опустить. Вот несколько примеров:
бесконечный цикл
for (;;) {}
или вот так (переменная была объявлена ранее):
int i = 0;
for (; i <10; i++)
или вот так (счетчик инкрементируется в теле цикла):
for (int i = 0; i <10;) {i++;}
а можно даже несколько счетчиков:
int a,b;
for (a = 1, b = 5; a <b; a++, b – ) {}
Цикл for – это чемпион по частоте использования, когда программисту надо реализовать проход по какому-то массиву данных, коллекции, проверить большое количество данных, сделать выборку данных по каким-то условиям.
Как и условия, циклы тоже могут быть вложены друг в друга. Обычно это необходимо, когда производиться проверка одного набора данных на совпадение с другим набором данных (пример: нахождение пересечение множеств) или, когда реализуется какой-то алгоритм простой сортировки.
В качестве примера мы сейчас сделаем программу, которая распечатывает шахматную доску, вот в таком виде:
#.#.#
.#.#.
#.#.#
.#.#.
#.#.#
Это доска размером 5 на 5, мы сделаем программу, которая сможет выводит на экран шахматную доску с разной размерностью.