
Когда Вам необходимо, чтобы одно и то же самое действие выполнилось несколько раз или до определенного условия, здесь нам на помощь приходят циклы.
В языке Java есть несколько способов создать циклы. Как Вы уже могли догадаться, мы будем рассматривать их все.
Первый способ объявить цикл — это использовать такую конструкцию: for (условие начала цикла; условие конца; шаг, с которым будет идти цикл) { тело цикла }
Перейдем сразу к примерам. Допустим у нас есть задача вывести фразу «привет мир» 10 раз. Если не использовать циклы, то можно просто написать System.out.println(«Привет мир»); десять раз и решим задачу. Давайте же для это цели используем циклы. Создайте новый класс и назовите его например CuclesInJava. Теперь объявите условие цикла (пусть это будет 0), условие конца — 10, и шаг. Будем идти с шагом в единицу. В тело цикла поместите строку System.out.println(«Привет мир»);
Вот пример кода:
Результатом такого кода будет 10 строк подряд фразы «Hello world!».
Как насчет написать что то более сложное. Мы уже выучили условные операторы и базовые операции с переменными. Давайте их и используем.
Напишем простое приложение, которое будет выводить строку с оповещением каждый раз, когда шаг + некоторая переменная будет равна 5. У меня очень плохо с фантазией))
Для начала напишем код, который будет принимать на вход переменную введенную из консоли. В предыдущей статье, я давал пример этого кода и мы условились, что потом я объясню, как он работает и откуда пошел. А сейчас мы просто будем им пользоваться:
Далее нужно написать цикл, который будет начинаться с нуля и считать до десяти (как в предыдущем примере). В тело цикла запишем условный оператор, который будет проверять, является эта переменная равна 5 и если это так, то будем выводить строку «ОК». Вот, что у меня получилось:
- import java.util.Scanner;
- public class CuclesInJava {
- int variable = scanner.nextInt();//мы дойдем до этого постепенно и тогда будет понятно, как это работает
- for (int i = 1; i < 10; i++) {
- int newVariable = i + variable;
- if (newVariable==5) {
- }
- }
- }
- }
Получилось не очень замысловато. Этим примером, я хотел показать, как можно использовать циклы с ветвлениями в связке.
Следующим способом объявить циклы является конструкция: while(условие истинно){блок кода, который нужно выполнить}. У данной конструкции есть другая форма:
do{блок кода, который нужно выполнить}while(условие истинно). Отличие первого от второго в том, что второе выполнить один цикл независимо истинно условие или нет. Можете сами подумать: сначала мы выполняем кода, а потом уже проверяем условие. И даже если условие будет не истинным, код все равно выполниться один раз, в том время, когда в первом виде конструкции сначала проверяется условие и пока оно не будет истинным, код не выполнится.
Пример:
- int i = 5;
- while (i>0){
- i--;
- }
Код должен быть интуитивно понятен. Думаю, стоит упомянуть, что с помощью конструкций while и do-while можно «зациклить» программу если не прописать или неправильно прописать условие выхода из цикла. Посмотрите на пример выше и подумайте, что было, если бы я написал не i—, а i++; или вместо i>0, i<0. Моя программа никогда не вышла бы из цикла и продолжала бы выводить строку Hello world! до тех пор, пока не завис компьютер. Поэтому, будьте очень осторожными с циклами и всегда следите, чтобы из них Ваша программа могла выйти или закончить работу.
Ну и пример с do-while:
На этом, думаю, можно закончить статью о циклах в Java. Как видите, конструкции не очень сложны, но очень полезны. Особенно полезными они будут, когда мы познакомимся с массивами и строками.
«с помощью конструкций while и do-while можно «зациклить» программу если не прописать или неправильно прописать условие выхода из цикла. »
Почему только с while и do-while? А с помощью конструкции for разве нельзя «зациклить» так чтобы программа не вышла из цикла?