#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. нихрена не понимаю (((((

  2. 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"); } }

  3. Там где говорится о foreach упущено само foreach, вместо него for
    int[] arr = {2, 0, 1, 3};
    for (int el : arr) {
    System.out.println(el);
    }
    Или я не прав?

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

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

    int i;
    for (i =0; i < 237; i = i + 2) System.out.println(i); } }

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

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

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