Циклы в Java: for, while, do-while

циклы в джава

Когда Вам необходимо, чтобы одно и то же самое действие выполнилось несколько раз или до определенного условия, здесь нам на помощь приходят циклы. 

В языке Java есть несколько способов создать циклы. Как Вы уже могли догадаться, мы будем рассматривать их все.

Первый способ объявить цикл — это использовать такую конструкцию: for (условие начала цикла; условие конца; шаг, с которым будет идти цикл) { тело цикла }

Перейдем сразу к примерам. Допустим у нас есть задача вывести фразу «привет мир» 10 раз. Если не использовать циклы, то можно просто написать System.out.println(«Привет мир»); десять раз и решим задачу. Давайте же для это цели используем циклы. Создайте новый класс и назовите его например CuclesInJava. Теперь объявите условие цикла (пусть это будет 0), условие конца — 10, и шаг. Будем идти с шагом в единицу. В тело цикла поместите строку System.out.println(«Привет мир»);

Вот пример кода: 

Код   
  1. public class CuclesInJava {
  2.  
  3.     public static void main(String[] args) {
  4.        
  5.         for (int i = 0; i < 10; i++) {
  6.             System.out.println("Hello world!");
  7.         }
  8.  
  9.     }
  10.  
  11. }

 

Результатом такого кода будет 10 строк подряд фразы «Hello world!».

Как насчет написать что то более сложное. Мы уже выучили условные операторы и базовые операции с переменными. Давайте их и используем.

Напишем простое приложение, которое будет выводить строку с оповещением каждый раз, когда шаг + некоторая переменная будет равна 5. У меня очень плохо с фантазией))

Для начала напишем код, который будет принимать на вход переменную введенную из консоли. В предыдущей статье, я давал пример этого кода и мы условились, что потом я объясню, как он работает и откуда пошел. А сейчас мы просто будем им пользоваться:

Код   
  1. Scanner scanner = new Scanner(System.in);//пример кода ввода с консоли
  2.         int variable = scanner.nextInt();//мы дойдем до этого постепенно и тогда будет понятно, как это работает

Далее нужно написать цикл, который будет начинаться с нуля и считать до десяти (как в предыдущем примере). В тело цикла запишем условный оператор, который будет проверять, является эта переменная равна 5 и если это так, то будем выводить строку «ОК». Вот, что у меня получилось:

Код   
  1. import java.util.Scanner;
  2.  
  3. public class CuclesInJava {
  4.  
  5.     public static void main(String[] args) {
  6.         System.out.println("Enter your number");
  7.         Scanner scanner = new Scanner(System.in);//пример кода ввода с консоли
  8.         int variable = scanner.nextInt();//мы дойдем до этого постепенно и тогда будет понятно, как это работает
  9.        
  10.         for (int i = 1; i < 10; i++) {
  11.             int newVariable = i + variable;
  12.             if (newVariable==5) {
  13.                 System.out.println("OK" + " our variable is on " + i + " step");
  14.             }
  15.         }
  16.  
  17.     }
  18.  
  19. }

Получилось не очень замысловато. Этим примером, я хотел показать, как можно использовать циклы с ветвлениями в связке.

Следующим способом объявить циклы является конструкция: while(условие истинно){блок кода, который нужно выполнить}. У данной конструкции есть другая форма:

do{блок кода, который нужно выполнить}while(условие истинно). Отличие первого от второго в том, что второе выполнить один цикл независимо истинно условие или нет. Можете сами подумать: сначала мы выполняем кода, а потом уже проверяем условие. И даже если условие будет не истинным, код все равно выполниться один раз, в том время, когда в первом виде конструкции сначала проверяется условие и пока оно не будет истинным, код не выполнится.

Пример: 

Код   
  1. int i = 5;
  2.         while (i>0){
  3.             System.out.println("Hello world!");
  4.             i--;
  5.         }

Код должен быть интуитивно понятен. Думаю, стоит упомянуть, что с помощью конструкций while и do-while можно «зациклить» программу если не прописать или неправильно прописать условие выхода из цикла. Посмотрите на пример выше и подумайте, что было, если бы я написал не i—, а  i++; или вместо i>0, i<0. Моя программа никогда не вышла бы из цикла и продолжала бы выводить строку Hello world! до тех пор, пока не завис компьютер. Поэтому, будьте очень осторожными с циклами и всегда следите, чтобы из них Ваша программа могла выйти или закончить работу.

Ну и пример с do-while:

циклы в джава

На этом, думаю, можно закончить статью о циклах в Java. Как видите, конструкции не очень сложны, но очень полезны. Особенно полезными они будут, когда мы познакомимся с массивами и строками.

1

  1. «с помощью конструкций while и do-while можно «зациклить» программу если не прописать или неправильно прописать условие выхода из цикла. »
    Почему только с while и do-while? А с помощью конструкции for разве нельзя «зациклить» так чтобы программа не вышла из цикла?

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *