Шаг 10.
Язык программирования Java.
Цикл for

На этом шаге мы рассмотрим цикл for

Очень часто нужно писать программы, в которых некоторая часть синтаксически выглядит одинаково. Например, вывод значения переменной 10 раз, поиск всех делителей числа и так далее. Для таких целей удобно использовать цикл for.

Синтаксис цикла for прост:

for (int i = 0; i <= 9; i++) {
    System.out.println("I love Java");
}

В данном фрагменте кода выводится 10 раз на экран надпись: I love Java. Переменная i служит для счетчика количества повторений выполнения цикла. Цикл for состоит из трех частей: местом объявления счетчика, проверки условия, часть, в которой значение счетчика изменяется. Все что находится между фигурными скобками называется телом цикла. В теле цикла может находиться все что угодно, даже еще один цикл. В таком случае такая конструкция называется вложенным циклом.

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

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


Пример 1. Нахождение суммы первых 1000 натуральных чисел.

public class PrimerFirst {
    public static void main(String[] args) {
        int sum = 0;
    /*Будем перебирать все числа из промежутка 1..1000 
                                и добавлять каждое к переменной sum*/
        for (int i = 1; i <= 1000; i++) {
            sum += i;
        }
    /*Выведем результат на экран*/
        System.out.println(sum);
    }
}

Полный проект можно взять здесь.


Рис. 1. Вывод программы


Пример 2. Вывод на экран всех нечетных чисел, находящихся в промежутке от 1 до 50.

public class PrimerSecond {
    public static void main(String[] args) {
    /*
      Будем перебирать все числа из промежутка 1..50, приэтом увеличивать значени
      счетчика на 2.
    */
        for (int i = 1; i <= 50; i += 2) {
            System.out.print(i + " "); /*Выведем очередное число на экран*/
        }
    }
}

Полный проект можно взять здесь.


Рис. 2. Вывод программы


Пример 3. Нахождение наибольшего общего делителя двух чисел.

 public class PrimerThird {
    public static void main(String[] args) {
        int a = 147;
        int b = 105;

        int d = 1; /*Предположим, что НОД чисел равен 1*/
        /*Будем перебирать все числа от 2 до a*/
        for (int i = 2; i <= a; i++) {
            if (a % i == 0 && b % i == 0) { /*и проверять делится ли и a и b на i*/
                d = i; /*если да, то изменим значение предполагаемого НОД*/
            }
        }
        /*Выведем ответ на экран*/
        System.out.println(d);
    }
}

Полный проект можно взять здесь.


Рис. 3. Вывод программы


На следующем шаге мы рассмотрим цикл while

Предыдущий шаг Содержание Следующий шаг