Как в Java создавать циклы и управлять ими. Как с их помощью автоматизировать обработку массивов и генерацию объектов.
09 октября 2017 3 минуты 88292
Автор статьи
Мария Лисянская
Автор статьи
Мария Лисянская
https://gbcdn.mrgcdn.ru/uploads/post/1238/og_cover_image/ed12996e6ef61b13a868df82b32b1e6c
Цикл — это блок команд, который выполняется снова и снова, пока соблюдается определённое условие. Повторяемый фрагмент кода называют «телом цикла». Одно выполнение тела цикла называют итерацией.
В Яве можно работать с циклами нескольких типов — для этого есть следующие операторы:
while – цикл с предусловием – сначала проверяем условие, затем выполняем тело цикла;
Java для начинающих. Урок 8: Цикл do…while.
do… while – цикл с постусловием – сначала выполняем один раз тело цикла, затем проверяем условие и, если оно соблюдается, продолжаем;
for – цикл со счётчиком – выполняется и при каждой итерации обновляет счётчик, пока условие в объявлении цикла соблюдается (т.е. проверка условия возвращает true);
сокращенный for (в других языках известен как foreach) – перебирает массив от первого элемента до последнего и на каждой итерации выполняет тело цикла.
Если мы используем конструкции с while, значение нужно указать перед началом цикла:
int a = 1;
System.out.println(a);
a++; //увеличиваем а на единицу
Если же переменная работает как счётчик цикла, а за его пределами не используется, её инициализируют прямо в условии. И тут же пишут, что с ней делать в конце каждой итерации. Всё это – в одну строку – с помощью for:
System.out.println(a);
Получаем тот же результат. Список можно было начать с нуля или с отрицательного значения – диапазон определяем сами.
Сокращенный вариант цикла for не содержит указаний ни на число повторов, ни на действия в конце шага. Цикл типа foreach используют для перебора массивов. От первого элемента нужно переходить к следующему – пока массив не кончится.
int[] ms = < 1, 2, 3, 4>; //создаем массив
int s = 0;
s *= i; //последовательно перемножаем элементы
System.out.println(s);
Вложенные циклы Java
Циклы можно вкладывать один в другой. При этом число повторов наружного и вложенных циклов умножается. Если внешний должен выполняться 5 раз и внутренний – 5, всего цикл будет выполнен 25 раз.
Выведем таблицу умножения с помощью двух массивов:
int a, b, result = 0;
result = a*b;
Источник: gb.ru
Циклы в Java
И так, минимум 5 раз в неделю (понедельник-пятница) Вы делаете одну и ту же последовательность действий. А раз делается одна и та же последовательность действий, значит речь идёт о цикле. Ну, вот, теперь Вы знаете, что такое цикл.
Java — цикл for; вложенные циклы for; использование for
В Java выделяют 4 вида циклов:
- Цикл while
- Цикл do…while
- Цикл for
- Цикл for each
На данном этапе Вам достаточно знать только первые 3 вида циклов.
Цикл for each мы разберём позже вот в этой статье. Сейчас лишь скажем Вам, что цикл for each — это разновидность цикла for. Впервые цикл for each появился в JDK5. В более ранних версиях JDK этого вида цикла не было.
Итак, самое время познакомиться с циклом while.
Цикл while
Цикл while еще называют цикл «пока» или «до тех пор пока».
Давайте начнем с выдуманного немного шуточного житейского примера.
Допустим, у Вас есть друг Вася, а у Васи есть девушка Аленушка. У них «конфетно-букетный период» – сами знаете что это такое. И вот Вася дарит ей цветы, водит по кафешкам, покупает мороженое. Одним словом – обхаживает.
Но бюджет то у Васи не резиновый. И вот Вася говорит себе: «Буду Аленушку водить по кафешкам и цветы дарить до тех пор пока в кошельке у меня будет не меньше 200 грн. Но как только увижу, что в кошельке хоть на 1 копейку меньше, чем 200 грн, — всё, закрываем «конфетно-букетный период», просто сидим дома на диванчике, смотрим телик и всё такое.
Если описать эту житейскую ситуацию в конструкции цикла while (напоминаем, цикл whilе еще иногда называют цикл «до тех пор пока»), то это будет выглядеть так:
Источник: vertex-academy.com
Циклы в Java
Программа, написанная на языке Java, состоит из определенного кода. Обычно он выполняется последовательно: строка за строкой, сверху вниз. Но есть и такие конструкции кода, которые меняют линейное выполнение программы. Их называют управляющими конструкциями. Благодаря им, код можно выполнять выборочно. Например, запустить один блок кода вместо другого. Циклы — это разновидность управляющих конструкций для организации многократного выполнения одного и того же участка кода. Код внутри такой управляющей конструкции выполняется циклично. Каждое выполнение кода — это итерация цикла. Количество итераций регулируется условием цикла. Код, который выполняется внутри цикла, называют телом цикла. Известны такие виды циклов:
- Циклы с предусловием: условие выполнения определяется перед первой итерацией.
- Циклы с постусловием: условие выполнения определяется после первой итерации (поэтому они всегда выполняются минимум один раз). Полезны, когда нужно выполнять некое действие, пока не реализуется некое условие: например, считывать ввод пользователя, пока он не введет слово “stop”.
- Циклы со счетчиком: количество итераций определяется смоделированным счетчиком. В условии цикла задается его начальное и конечное значение. Каждую итерацию счетчик наращивается. Мы можем заранее определить количество итераций. Эти циклы бывают полезны, когда нужно перебрать все элементы в какой-то коллекции. Циклы со счетчиком называют “циклами для. ”. “Для каждого элемента некоторой коллекции осуществить следующие действия”. Допустимы случаи, когда выполнение цикла можно прервать до достижения его условия. Например, если у нас есть коллекция из 100 чисел и нам необходимо понять, содержит ли она отрицательные числа. Мы можем начать перебор всех чисел, используя цикл “для”. Но когда мы найдем первое отрицательное число, нам не обязательно перебирать оставшиеся числа. Мы можем прервать выполнение цикла, если его дальнейшее выполнение не имеет смысла. Подобные ситуации называют прерыванием цикла.
- Безусловные циклы — циклы, которые выполняются бесконечно. Например: “Пока 1=1, печатать “1=1””. Такая программа будет выполняться, пока ее вручную не прервут. Данные циклы тоже бывают полезны, когда используются вместе с прерыванием цикла “изнутри”. Используйте их осторожно, чтобы не спровоцировать зависание программы. Подробнее с циклами в языке программирования Java можно познакомиться на 4-ом уровне курса JavaRush. В частности, с циклами while и for.
Циклы в Java
- while — цикл с предусловием;
- do..while — цикл с постусловием;
- for — цикл со счетчиком (цикл для);
- for each.. — цикл “для каждого…” — разновидность for для перебора коллекции элементов.
Цикл while
Этот цикл в Java структурно выглядит так:
while (expression)
- expression — условие цикла, выражение, которое должно возвращать boolean значение.
- statement(s) — тело цикла (одна или более строк кода).
public class WhileExample < public static void main(String[] args) < int countDown = 10; while (countDown >= 0) < System.out.println(«До старта: » + countDown); countDown —; >System.out.println(«Поехали !»); > >
До старта: 10 До старта: 9 До старта: 8 До старта: 7 До старта: 6 До старта: 5 До старта: 4 До старта: 3 До старта: 2 До старта: 1 До старта: 0 Поехали !
Используя while , можно создать бесконечный цикл:
while (true) < // тело цикла >
Чтобы прервать выполнение цикла, используется оператор break . Например:
public class WhileExample < public static void main(String[] args) < int count = 1; while (true) < System.out.println(«Строка №» + count); if (count >3) < break; >count++; // Без наращивания цикл будет выполняться вечно > > >
Строка №1 Строка №2 Строка №3 Строка №4
Попрактиковаться в написании своих циклов можно уже на 4-ом уровне курса JavaRush.
Цикл do..while
Структура do.. while выглядит так:
do < statement(s) >while (expression);
- expression — условие цикла, выражение, которое должно возвращать boolean значение.
- statement(s) — тело цикла (одна или более строк кода).
public class DoWhileExample < public static void main(String[] args) < int count = 1; do < System.out.println(«count lang-java line-numbers»> for (initialization; termination; increment)
- initialization — выражение, которое инициализирует выполнение цикла. Исполняется только раз в начале цикла. Чаще всего в данном выражении инициализируют счетчик цикла
- termination — boolean выражение, которое регулирует окончание выполнения цикла. Если результат выражения будет равен false, цикл for прервется.
- increment — выражение, которое исполняется после каждой итерации цикла. Чаще всего в данном выражении происходит инкрементирование или декрементирование переменной счетчика.
- statement(s) — тело цикла.
// бесконечный цикл for ( ; ; ) < // код тела цикла >
Пример цикла for :
public class ForExample < public static void main(String[] args) < for (int i = 1; i < 6; i++) < System.out.println(«Строка №» + i); >> >
Строка №1 Строка №2 Строка №3 Строка №4 Строка №5
Практикум по циклу for представлен на четвертом уровне курса JavaRush.
Цикл for each
Этот цикл Java — разновидность цикла for для итерации коллекций и массивов. Структура for each выглядит так:
for (Type var : vars)
- vars — переменная, существующий список или массив
- Type var — определение новой переменной того же типа ( Type ), что и коллекция vars .
public class ForExample < public static void main(String[] args) < String[] daysOfWeek = < «Понедельник», «Вторник», «Среда», «Четверг», «Пятница», «Суббота», «Воскресенье» >; for (String dayOfWeek : daysOfWeek) < System.out.println(dayOfWeek); >> >
Циклы Java изучаются на курсе JavaRush на четвертом уровне квеста Java Syntax. Попробуйте свои силы в решении задач по этой теме 🙂
Источник: javarush.com