Условие выполнения цикла проверяется перед каждой итерацией, а приращение параметра цикла может быть переменным, поэтому, в отличие от Паскаля, в Java допускается изменение значения параметра цикла и условия продолжения цикла в теле этого же цикла. Может отсутствовать и сам оператор, выполняемый в цикле:
for (int count=0; getch()!=’\n’; count++);
Этот цикл подсчитывает количество вводимых с клавиатуры символов, пока не будет нажата клавиша ввода (она соответствует ESC-последовательности ‘\n’). В этом цикле параметр цикла count не входит в условие его выполнения - это тоже не обязательно.
В одном цикле for можно использовать одновременно несколько параметров цикла, которые при инициализации разделяются запятыми:
for (int i=0, int j=n; i<j; i++, j--)
{
}
Как и в других языках программирования, в Java разрешено использовать цикл в цикле, при этом циклы должны иметь разные параметры цикла:
int sum, min=6, max=10000;
System.out.printf(“\nСовершенные числа от %d до %d:\n”, min, max);
for (int num = min; num <= max; num += 2)
{
sum = 1;
for (int factor = 2; factor < num; factor++)
{
if (num % factor == 0)
sum += factor;
}
if (sum == num)
System.out.printf(“\n%d”, num);
}
Эта программа осуществляет поиск всех совершенных чисел от 6 до 10000.
Для досрочного прекращения выполнения цикла и выхода из него используется оператор прерывания break:
public final int MIN=2;
public final int MAX=1000;
for (int n = MIN; n <= MAX; n++)
{
for (int i = MIN; i < n; i++)
{
if (n % i == 0)
break; //выход из внутреннего цикла
}
if (i == n)
System.out.printf(“\n%d”, n);
}
}
Эта программа осуществляет поиск всех простых чисел от 2 до 1000.
Во вложенных циклах команда break прекращает выполнение только того цикла, в котором стоит.
Для пропуска одной итерации цикла (перехода к следующей итерации) используется команда продолжения continue:
public final int MIN=3;
public final int MAX=100;
for (int number = MIN; number <= MAX; number++)
{
if (number % 3 != 0)
continue; // следующая итерация цикла
System.out.printf(“\n%d”, number);
}
Эта программа осуществляет поиск всех чисел, кратныхтрем, от 3 до 100.
Примеры:
1. Вычислить Sn – сумму n первых натуральных чисел