Примеры циклов for

Приведем несколько примеров того, как можно использовать цикл for в кодах.

Пример №1

Написать цикл, который выводит на экран (в одну сроку) все целые положительные двузначные числа, начиная с наименьшего.

for (int i=10; i<100; i++)

{

System.out.print(i);

}

Пример №2

Написать цикл, который генерирует и выводит на экран 26 целых случайных чисел из диапазона от 10 до 45.

for (int i=1; i<=26; i++)

{

x=(int)(36*Math.random()+10);

System.out.println(x);

}

Пример №3

Написать цикл, который принимает с клавиатуры 45 десятичных дробей и для введенных положительных значений выводит на экран квадратные корни (с соответствующим текстовым сообщением).

for (int i=1; i<46; i++)

{

x=reader.nextDouble();

if (x>=0)

{

y=Math.sqrt(x);

System.out.println("Квадратный корень "+x+" равен "+y);

}

Else

System.out.println("нельзя извлечь квадратный корень!");

}

Пример №4

Написать цикл, который принимает с клавиатуры целое число, затем генерирует 40 случайных чисел из диапазона от 1 до 6.

Цикл выводит на экран (в одну строку) только те из сгенерированных случайных чисел, которые имеют четное значение.

x=reader.nextInt();

for (int i=1; i<=40; i++)

{

y=1+(int)(6*Math.random();

if (y%2==0) System.out.print(y);

}

Следует всегда обращать внимание на один очень важный момент при написании этого рода циклов: если переменная-счетчик объявляется внутри заголовка цикла (так, как это сделано во всех приведенных выше примерах), то она "существует" только в пределах цикла (заголовка и тела). Иными словами – всякая попытка использовать эту переменную уже после тела цикла будет вызывать ошибку.

Сравните два главных метода

public static void main(String[]args) { for (int i=1; i<7;i++) { System.out.print(i+" "); } System.out.println(" and "+i); } Уже на стадии компиляции появляется сообщение об ошибке, смысл которой: необъявленная переменная. При этом в качестве строки, содержащей эту необъявленную переменную, указывается System.out.println(" and "+i);
public static void main(String[]args) { int i; for (i=1; i<7;i++) { System.out.print(i+" "); } System.out.println(" and "+i); } Нет проблем ни на стадии компиляции, ни на стадии исполнения

Приведем еще два примера – возможные решения следующего задания: "напиши класс, который выводит на экран последовательность двузначных положительных чисел, делящихся на 6".

  class primer_for2 { public static void main(String[]args) { for (int i=12; i<=96; i+=6) { System.out.print(i+" "); } } }   В этом варианте переменная-счетчик принимает только нужные значения: начиная с 12 (все равно 10 и 11 не делятся на 12!), заканчивая 96 (все равно 97, 98 и 99 тоже не делятся на 12!), и увеличиваясь при каждом проходе (повторе цикла) на 6 (все равно нет смысла проверять все числа подряд!). При этом сама переменная-счетчик и используется для вывода значений на экран.
  class primer_for3 { public static void main(String[]args) { int x=10; for (int i=1; i<=90; i++) { if ((x+i)%6==0) System.out.print(x+" ") } } }   В этом варианте переменная счетчик отвечает только за установление количества проходов, которое равно общему числу двузначных положительных чисел – и совершенно не используется в теле цикла. За установление значений, которые будут выводиться на экран, отвечает отдельная переменная (х), которая принимает значения всех возможных положительных двузначных чисел – и поэтому каждый раз (при каждом проходе, повторе цикла) производится проверка – выводить ли значение на экран.
  Мы хотим привести еще три варианта решения только что разобранного примера и предлагаем каждому оценить различия в этих вариантах.
  class primer_for3 { public static void main(String[]args) { for (int i=10; i<=99; i++) { if (i %6==0) System.out.print(i+" "); } } }   Вариант №1
  class primer_for3 { public static void main(String[]args) { for (int i=12; i<=96; i+=6) { System.out.print(i+" "); } } }   Вариант №2
  class primer_for3 { public static void main(String[]args) { for (int i=2; i<=12; i++) { System.out.print(i*6+" "); } } }   Вариант №3

В будущих разделах мы познакомимся с дополнительными возможностями, которые предоставляет программисту цикл for, но на данный момент гораздо важнее освоиться с пониманием и написанием классов, использующих базовую, "классическую" форму цикла for.

Раздел №15 (часть 2).
Команды повтора – Цикл for

Продолжим наше знакомство с возможностями цикла for – и на этот раз поговорим об использовании в этом цикле не только конкретных числовых значений, но и различных переменных. Их использование делает цикл for более "гибким", то есть количество проходов все равно всегда заранее известно, но теперь оно зависит от того, какие значение принимают используемые в заголовке цикла переменные.

Поясним это примером.

Дан класс.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: