Циклы while и do..while в Java

Мы используем многократные действия для решения проблем повседневной жизни. В программировании мы также используем многократные действия для решения проблем. Например, предположим, что вы хотите написать компьютерную программу, которая добавит 1000 номеров, заданных пользователем. Чтобы решить эту проблему, у нас могло бы быть два варианта: разрешить их последовательно или сделать это, используя повторение в цикле. Оба случая показаны ниже:

Используя первый вариант, выполните задачу последовательно

 
Accept first number from user
Add it to the total
Accept second number from user
Add it to the total
Accept third number from user
Add it to the total
......
......
......
Accept 999th  number from user
Add it to the total
Accept 1000th   number from user
Add it to the total

Используя второй вариант, выполните задачу с использованием цикла

 
LoopStatement(1000 times){
  Accept number from user
  Add it to the total
}

Здесь вы можете увидеть, что повторение в цикле занимает несколько строк, сравнимое с последовательным решением для выполнения одной и той же задачи. Из приведенного выше примера вы можете увидеть преимущества использования повторения в цикле. Язык Java предоставляет различные типы циклов, например, для цикла, while loop, do..while. Здесь мы обсуждаем цикл while и do..while.

Цикл while

Цикл while - это оператор потока управления, который позволяет выполнять код повторно на основе заданного булевского условия.

Синтаксис:

 
while (condition){
   statements;
}

Выражение (условие) в цикле while вычисляется, и если выражение (условие) истинно, выполняется код внутри блока. Это повторяется до тех пор, пока выражение (условие) не станет ложным. Выражение (условие) должно быть обновлено во время повторений, иначе программа никогда не «вырвет» из while и не приведет к бесконечному циклу.

Пример:

 
class TestClass
{
  public static void main (String[] args)
  {
    int cnt = 1;
    while (cnt < = 5)
    {
      System.out.println("The value of cnt is : " + cnt);
      cnt = cnt + 1;
    }
  }
}

Вывод:

 
The value of cnt is : 1
The value of cnt is : 2
The value of cnt is : 3
The value of cnt is : 4
The value of cnt is : 5

В вышеуказанной программе цикл будет выполнять блок кода 5 раз. В первый раз значение cnt равно единице, то оно удовлетворяет условию cnt <= 5. Блок кода выполняет и обновляет значение cnt, то есть cnt = cnt + 1. Это будет повторяться до значения cnt = 5 и затем выйти из цикла.

Цикл do while

Цикл do-while похож на оператор while, но цикл do-while, сначала будет выполняться тело цикла, затем вычисляется условие. Если условие истинно, тело цикла будет выполнено. В противном случае цикл будет завершен. Преимущество цикла do ... while состоит в том, что он выполняет блок кода хотя бы один раз, а затем повторно выполняет блок в зависимости от условия.

Синтаксис:

 
do {
  statements;
} while (condition);

Пример:

 
class TestClass
{
  public static void main (String[] args)
  {
    boolean enter=false;
    do
    {
      System.out.println("Enter in do..while loop");
    }while (enter);
  }
}

В приведенном выше коде boolean введите = false ;. Даже значение ввода - false, блок кода выполняется хотя бы один раз. Таким образом, сообщение отображается один раз. Если вы дадите условие циклу while, он выйдет, не показывая сообщение, потому что условие ложно и никогда не входит в блок кода.

 
boolean enter=false;
while (enter){
  System.out.println("Enter in do..while loop");
}

В приведенном выше случае условие является ложным (enter = false), и цикл никогда не выполняется.

Разница между do..while и while заключается в том, что do..while цикл оценивает свое условие в последнем из циклов вместо первого (во втором цикле условие сначала оценивает). Поэтому инструкции внутри блока do всегда выполняются хотя бы один раз.

Источник: http://net-informations.com/Java/sts/while-loop.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector