#5. Вводный курс по JAVA. Циклы (Loops)

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

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

Циклы в Java

Есть два вида циклов в 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 в последовательности.

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

Дополнительное чтение:

Общие сведения о циклах в Java

Конструкции выбора в Java

Инструкции выхода в Java

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

Комментариев: 48
  1. public class Main {
    public static void main(String[] args) {

    for (int i = 0; i =237){
    break;
    }
    System.out.println(i);}
    }
    }
    }

  2. Kreeck

    Учитывая пройденные 5 уроков для меня, как новичка, можно написать только следующее:
    public class main {
    public static void main (String [] args) {
    int i;
    for (i = 2; i <= 237; i = i+2);
    System.out.println(i);
    }
    }
    Вывод: 2,4,6,…,236

  3. Darvin3310

    import com.sun.org.apache.xpath.internal.SourceTree;

    import java.util.Arrays;

    public class MyJavaClass {
    public static void main (String[] args) {
    for (int i = 0; i <= 237; i++) {
    if (i%2 == 0) {
    continue;
    }
    System.out.println(i);
    }
    }
    }

  4. Alexandra_96

    Если кто может, оцените пожалуйста.

    1 способ:
    public class Exercise {
    public static void main(String[] args) {
    int arr = [1, 2, 3, 19, 44, 30, 290, 1000000, 54, 0, 60, 61, 78, 20, 106, 237, 500, 611, 90, 19, 1];
    for (; i<arr.length;) {
    while (arr[i] != 237) {
    if (arr[i]%2==0) System.out.print(arr[i]);
    }
    }
    }
    }

    2 способ:
    public class Exercise {
    public static void main(String[] args) {
    int arr = [1, 2, 3, 19, 44, 30, 290, 1000000, 54, 0, 60, 61, 78, 20, 106, 237, 500, 611, 90, 19, 1];
    for (; i<arr.length;) {
    if (arr[i]==237) {
    break;
    }
    if (arr[i]%2==1) {
    continue;
    }
    System.out.println (arr[i];
    }
    }
    }

  5. Nastya 1909

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

    for (int s = 0; s < 800; s++){
    if (s==119) break;

    System.out.println((s*2) + " This is mean" );
    }

    }} //моя версия как ни странно все работает)))

  6. Nastya 1909

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

    for (int i = 0; i < 257; i++) {

    if (i % 2==1)
    continue;
    System.out.println(i + " ");
    }
    }}

  7. tester

    public class Main {
    public static void main(String[] args) {
    int[] arr = new int[237];
    for (int i = 0; i<=arr.length-1;i++){
    arr[i] = i;
    if (arr[i]%2 == 0 && arr[i] != 0)
    System.out.println(arr[i]);
    }
    }
    }

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