Рекомендуем, 2020

Выбор редакции

Разница между циклами while и do-while

Операторы итерации позволяют многократно выполнять набор инструкций, пока условие не станет ложным. Операторы Iteration в C ++ и Java предназначены для цикла loop, а цикла - while. Эти утверждения обычно называют циклами. Здесь основное различие между циклом while и циклом do while заключается в том, что условие цикла while проверяется до итерации цикла, тогда как цикл do-while проверяет условие после выполнения операторов внутри цикла.

В этой статье мы собираемся обсудить различия между циклом «while» и циклом «do-while».

Сравнительная таблица

Основа для сравненияв то время какделать пока
Общая формаwhile (условие) {
заявления; // тело цикла
}
делать{
,
заявления; // тело цикла.
,
} while (Условие);
Контроль состоянияВ цикле «while» управляющее условие появляется в начале цикла.В цикле «do-while» условие управления появляется в конце цикла.
ИтерацииИтерации не происходят, если условие на первой итерации кажется ложным.Итерация происходит по крайней мере один раз, даже если условие ложно на первой итерации.

Определение while Loop

Цикл while - это самый фундаментальный цикл, доступный в C ++ и Java. Работа цикла while одинакова как в C ++, так и в Java. Общая форма цикла while:

 while (условие) {заявления; // тело цикла} 

Цикл while сначала проверяет условие, а если условие истинно, то итерирует цикл, пока условие не станет ложным. Условие в цикле while может быть любым логическим выражением. Когда выражение возвращает ненулевое значение, тогда условие имеет значение «истина», а если выражение возвращает нулевое значение, условие становится «ложным». Если условие становится истинным, то цикл повторяется сам, а если условие становится ложным, то управление переходит на следующую строку кода, за которой сразу следует цикл.

Операторы или тело цикла могут быть либо пустым оператором, либо отдельным оператором, либо блоком операторов.

Давайте обсудим работу цикла while. В приведенном ниже примере код будет напечатан от 1 до 10.

 // пример на Java. класс while {public static void main (args []) {int n = 0; while (n <= 10) {n ++; system.out.println ("n =" + n); }}} // вывод n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

Здесь начальное значение n равно 0, что превращает условие в цикл while. Затем элемент управления входит в тело цикла while, и значение 'n' увеличивается в соответствии с первым оператором в теле цикла while. Затем печатается значение n и снова управление возвращается к состоянию цикла while, теперь значение n равно 1, что снова удовлетворяет условию, и тело цикла выполняется снова.

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

Определение do-while Loop

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

Общая форма do-while заключается в следующем.

 делать{ . операторы // тело цикла., } while (Условие); 

В цикле do-while тело цикла находится перед условием управления, а условный оператор находится в нижней части цикла. Как и в цикле while, здесь также тело цикла может быть пустым, поскольку и C ++, и Java допускают пустые операторы или, может быть только один оператор или блок операторов. Условие здесь также является логическим выражением, которое верно для всех ненулевых значений.

В цикле do-while элемент управления сначала достигает оператора в теле цикла do-while. Сначала выполняются операторы в теле, а затем элемент управления достигает части условия цикла. Условие проверяется, и, если оно истинно, цикл повторяется снова, а если условие ложно, то элемент управления возвращается к следующей строке сразу после цикла.

Давайте разберемся с этим, реализовав приведенный выше пример в do-while.

 // пример на Java. класс while {public static void main (args []) {int n = 1; do {system.out.println ("n =" + n); п ++; } while (n <10)}} // вывод n = 1 n = 2 n = 3 n = 4 n = 5 n = 6 n = 7 n = 8 n = 9 n = 10 

Здесь, при значении n = 1 элемент управления возвращается в тело цикла, значение n печатается, а затем его значение увеличивается. Затем управление возобновляется до состояния цикла do-while; условие проверяется, что оказывается истинным при n = 1, поэтому цикл повторяется снова и продолжается до тех пор, пока условие не станет ложным.

Ключевые различия между циклом while и do-while

  1. Цикл while проверяет условие в начале цикла и, если условие выполняется, выполняется оператор внутри цикла. В цикле do-while условие проверяется после выполнения всех операторов в теле цикла.
  2. Если условие в цикле while является ложным, ни один оператор внутри цикла не выполняется, и если условие в цикле «do-while» ложно, тогда и тело цикла выполняется хотя бы один раз, тогда условие проверяется.

Заключение:

И цикл while, и do-while являются оператором итерации. Если мы хотим это сначала, условие должно быть проверено, а затем должны выполняться операторы внутри цикла, а затем используется цикл while. Если вы хотите проверить условие завершения в конце цикла, тогда используется цикл do-while.

Top