Циклы в Java

Данная статья:

  • написана командой Vertex Academy. Надеемся, что она Вам будет полезна. Приятного прочтения!
  • это одна из статей из нашего "Самоучителя по Java"

Для начала давайте разберёмся что же такое цикл. Цикл – это какое-то повторяющееся действие.

Например, каждое утро Вы:

  1. Встаёте с кровати
  2. Идёте в душ, чистите зубы, и дальше кому как повезло: кто ноги бреет, кто лицо
  3. Открываете холодильник и поглощаете все, что под руку попало
  4. Одеваетесь
  5. Идёте на работу или учебу

И так, минимум 5 раз в неделю (понедельник-пятница) Вы делаете одну и ту же последовательность действий. А раз делается одна и та же последовательность действий, значит речь идёт о цикле.  Ну, вот, теперь Вы знаете, что такое цикл.

В Java выделяют 4 вида циклов:

  1. Цикл while
  2. Цикл do…while
  3. Цикл for
  4. Цикл for each

На данном этапе Вам достаточно знать только первые 3 вида циклов.

Цикл for each мы разберём позже вот в этой статье. Сейчас лишь скажем Вам, что цикл for each  - это разновидность цикла for. Впервые цикл for each появился в JDK5. В более ранних версиях JDK этого вида цикла не было.

Итак, самое время познакомиться с циклом while.

Цикл while

Цикл while еще называют цикл "пока" или "до тех пор пока".

 

Циклы JavaДавайте начнем с выдуманного немного шуточного житейского примера.

Допустим, у Вас есть друг Вася, а у Васи есть девушка Аленушка. У них «конфетно-букетный период» – сами знаете что это такое. И вот Вася дарит ей цветы, водит по кафешкам, покупает мороженое. Одним словом – обхаживает.

Но бюджет то у Васи не резиновый. И вот Вася говорит себе: «Буду Аленушку водить по кафешкам и  цветы дарить до тех пор пока в кошельке у меня будет не меньше 200 грн. Но как только увижу, что в кошельке хоть на 1 копейку меньше, чем 200 грн, - всё, закрываем «конфетно-букетный период», просто сидим дома на диванчике, смотрим телик и всё такое.

Если описать эту житейскую ситуацию в конструкции цикла while (напоминаем, цикл whilе еще иногда называют цикл «до тех пор пока»), то это будет выглядеть так:

В приведенном примере выше:

  1. «до тех пор пока» - это while
  2. (в кошельке > = 200 грн) – это условие
  3. «Вожу девушку по кафешкам», «Покупаю цветы» - это действия, которые будут выполняться пока условие будет истинно.

Итак, общая форма записи цикла while в Java выглядит вот так:

Запомните: суть оператора while: он повторяет действие(-я) до тех пор, пока условие истинно. То есть до тех пор, пока у Васи в кошельке будет >= 200 грн, Вася будет водить девушку по кафешкам и покупать ей цветы. Когда же условие в кошельке >= 200 грн станет ложным, повторение действий «вожу девушку по кафешкам», «покупаю девушке цветы» прекратится и цикл будет завершен.

Самое время попробовать написать код на Java с использованием цикла while.


Задача №1:

Необходимо вывести на экран числа от 1 до 7. То есть на экране должно быть: 1 2 3 4 5 6 7

Решение:


Задача №2:

А если бы мы написали код вот так, то код бы не выполнился ни разу.

Почему? Потому что начальное значение int i = 1;  а в условии мы пишем while (i <0). i уже равно 1, а значит никогда не будет такого, чтобы i было меньше 0. И, соответственно, код не будет выполнен ни разу.


Задача №3:

А если бы код был так написан вот так, то на экран бы выводились и выводились до бесконечности числа 1 2 3 4 5 6 7 ….

Это пример так называемого бесконечного цикла, потому что числа будут выводить до бесконечности 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 … Если Вы попробовали запустить такой код у себя на компьютере, то уже увидели, как бесконечный цикл заблокировал программу, поскольку код не останавливается, а все выводит и выводит новые числа на экран. Чтобы выйти из такой ситуации, нажмите сочетание клавиш Alt + F4.

Почему же числа выводятся до бесконечности? Да потому что в коде мы указали while (true). А истинным условие будет постоянно, поскольку true - это и есть истина. Поэтому выводятся и выводятся числа до бесконечности 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ….


Задача №4

Необходимо вывести на экран вот такую последовательность чисел:

100 90 80 70 60 50 40 30 20 10

Решение:

Комментарии к задаче:

i-=10;  это сокращенная запись для i = (i-10);

Еще примеры задач на цикл while Вы найдете по этой ссылочке.


Цикл do…while 

  • Цикл do...while еще называют  цикл "делать до тех пор пока"
  • Цикл do…while – это одна из вариаций цикла while. Чтобы понять в чем же отличие цикла do…while от цикла while, давайте сравним 2 примера кода.

Задача №5 – код с циклом while

Комментарий: данный код не выполнится ни разу. Потому что сначала проверяется условие while ( i < 0) и только потом, если условие истинно, выполняется код. То есть при цикле while происходит как бы предпроверка условия.

Задача №6 – код с циклом dowhile

Комментарий: цикл while сначала проверяет условие, потом выполняет код (тело цикла), а do..while сначала выполняет тело цыкла, а потом проверяет условие, по этому тело цикла выполнится, как минимум, 1 раз. Сначала прописаны действия и после того как действия выполнены идет проверка условия while ( i  < 0); То есть на экран будет выведено число 2. И только потом будет проведена проверка while ( i <0). Поскольку 2 > 0 цикл будет завершен. То есть при цикле do…while происходит как бы постпроверка условия.

Общая форма цикла do…while в Java такая:

Запомните: цикл dowhile всегда выполняется по крайней мере 1 раз. Это мы увидели наглядно из приведенного выше примера.

Цикл do…while удобно использовать, когда некоторое действие в программе нужно выполнить по крайней мере единожды, но при некоторых условиях придётся повторять его многократно.

Еще примеры задач на цикл do…while Вы найдете по этой ссылочке.


Цикл for

Цикл for еще называют цикл "со счетчиком"

Допустим мы хотим вывести на экран монитора вот такое сообщение:

 

Супер!

Супер!

Супер!

Супер!

 

Как Вы видите, слово «Супер!» повторяется 4 раза. Очевидно, что в данном случае нужно использовать цикл, ведь одно и то же действие повторяется 4 раза:

  1. Первый раз вывели на экран слово «Супер!»
  2. Потом второй раз вывели на экран слово «Супер!»
  3. Затем третий раз вывели на экран слово «Супер!»
  4. Затем четвертый раз вывели на экран слово «Супер!»

Запомните: когда Вы заранее знаете сколько раз повторится одно и то же действие, -необходимо использовать цикл for. Например, в приведенном выше примере мы точно знали, что слово «Супер!» необходимо вывести на экран 4 раза. А, значит, необходимо использовать цикл for.

Давайте разберём этот код пошагово:

Конструкция for (int i =1; i <=5; i++) в языке Java – это все равно, что сказать «Повторить столько-то раз». В данном случае: «Повторить с 1 до 5, то есть 5 раз».

int i = 1 – это первый параметр, который отвечает за установку начального значения. Этот параметр называется инициализация, где i - переменная цикла.

i <=5 - это второй параметр, который отвечает за условие, при котором будет выполняться цикл. То есть цикл будет выполнятся до тех пор, пока выполняется условие, то есть i не станет равным 5.

i++ это третий параметр, который отвечает за изменение переменной i после каждого шага цикла. В нашем примере указано i++, соответственно переменная будет увеличиваться на каждом следующем шаге цикла на единицу. С 1 до 2, с 2 до 3, с 3 до 4, с 4 до 5. Этот третий параметр называется итерация.

Общая форма цикла for в Java такая:

Предлагаю решить еще одну задачу.

Задача №7

Необходимо вывести на экран числа от 3 до -3. То есть на экране должно быть: 3 2 1 0 -1 -2 -3

Решение: 


Надеемся, что наша статья была Вам полезна. Также есть возможность записаться на наши курсы по Java в Киеве. Обучаем с нуля.

По всем вопросам звоните:

+38 050 205 77 99

+38 098 205 77 99

Или читайте информацию по нашим курсам Java c нуля у нас на сайте.

FacebookFacebook

FacebookFacebook