<<Предыдущий урок   Список уроков   Следующий урок>>

Уроки удобно выполнять в среде разработки IntelliJ IDEA, ссылка на страницу загрузки.

 

 

Есть два вида циклов в Java, for и while.

For

Цикл for состоит из трех секций:

Первая секция выполняется один раз, когда мы входим в цикл.  В нашем примере здесь задается начальное значение переменной i. Вторая секция проверяет логическое условие, если оно возвращает true, выполняются операторы в цикле, если false, выход из цикла. Вторая секция в первый раз запускается сразу после первой секции, и выполняется каждый раз, пока условие верно, вызывая третью секцию. Третья секция — заключительный оператор, его действие выполняется каждый раз при выполнении цикла. В нашем примере это инкремент, который при каждом выполнении увеличивает значение переменной на единицу.

Таким образом, цикл будет работать 3 раза. Вот порядок команд:

Мы можем опустить первую и третью секции цикла (как бы странно это ни выглядело), и цикл все еще будет работать:

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

While

Синтаксис похож на предыдущий:

Условие будет работать впервые при вводе и каждый раз, когда вызывается цикл. Если условие возвратит false, то цикл не будет работать.
Если мы хотим, чтобы цикл всегда выполнял по крайней мере одно действие, мы можем использовать do-while:

Не забудьте точку с запятой в конце.

Foreach

Другая версия for, это foreach. Но в Java решили не добавлять новое ключевое слово each. Ключевое слово, которое мы используем, все еще for, но когда мы хотим выполнить действия над элементами массива, делаем так:

Это была короткая версия, эквивалентная следующей записи:

Заметьте, что, если вы хотите использовать индекс элемента в цикле, Вы должны использовать более длинную версию и не можете использовать foreach.

break and continue

Эти два ключевых слова помогают нам управлять циклом из него. Оператор break останавливает цикл и переходит к оператору, следующему за ним:

Оператор continue остановит текущую итерацию и переместится в следующую. Заметьте, что в цикле for действие в третьей секции будет выполнено при этом.

Упражнение

Используя цикл, выведите на экран все четные числа из списка чисел в порядке получения. Не выводите числа, идущие после числа 237 в последовательности.

Выполните упражнение, прежде чем перейти к следующему уроку.
Перевод с английского. Ссылка на источник

<<Предыдущий урок   Список уроков   Следующий урок>>

#5. Вводный курс по JAVA. Циклы (Loops) обновлено: Март 12, 2016 автором: admin

  1. public class Main {
    public static void main(String[] args) {
    int[] numbers = {
    951, 402, 984, 651, 360, 69, 408, 319, 601, 485, 980, 507, 725, 547, 544,
    615, 83, 165, 141, 501, 263, 617, 865, 575, 219, 390, 984, 592, 236, 105, 942, 941,
    386, 462, 47, 418, 907, 344, 236, 375, 823, 566, 597, 978, 328, 615, 953, 345,
    399, 162, 758, 219, 918, 237, 412, 566, 826, 248, 866, 950, 626, 949, 687, 217,
    815, 67, 104, 58, 512, 24, 892, 894, 767, 553, 81, 379, 843, 831, 445, 742, 717,
    958, 609, 842, 451, 688, 753, 854, 685, 93, 857, 440, 380, 126, 721, 328, 753, 470,
    743, 527};
    for (int i = 0; i < numbers.length; i++) { if (numbers[i] == 237) { break; } float el = numbers[i]; if(el % 2 == 0){ System.out.println(numbers[i]); } } System.out.println("Zuuuppp"); } }

    • i = 0 *изначальное число*
      I < 237 *говорит о том что цикл не будет идти дальше этой цифры*
      i = i + 2 *позволит нам вывести только четные цифры*

  2. Не понятно объяснено про continue и break. Хорошо было бы если бы прошлись по каждому значению цикла (итерации) и объяснили почему выводится или не выводиться sout.

    • break выводит из цикла, continue — переходит сразу к следующей итерации?

    • Тоже так пробовал, но не понял сначала как в if проверять остаток от деления. Писал if(i % 2)
      Потом решил присваивать остаток переменной, если ни чего не присвоилось (0) то цикл выводит i

  3. public class Main {
    public static void main(String[] args) {

    // Спосооб 1//
    int i;
    for (i = 1; i < 1000; i++) {
    if (i % 2 == 0 && i < 273) //Выводит четные числа меньше 273 с помощью логического оператора "И"//
    System.out.println(i);
    }
    System.out.println("Vozmi s polki chokoladky");

    // Способ 2//
    int x;
    for (x = 1; x < 1000; x++) {
    if (x == 273) { //Выводит числа меньше 273, когда "x" становится = 273, оператор прекращает работу//
    break;
    }
    if (x%2 == 1){ //Не четные числа пропускает, выводит на экран четные//
    continue;
    }System.out.println(x);
    }
    System.out.println("Vozmi eche odnu");
    }
    }

Добавить комментарий