Цикл do while javascript примеры

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

В программировании циклы используются для повторения блока кода. Например, чтобы вывести на экран определенное сообщение 100 раз, удобно будет использовать цикл. На самом деле, это всего лишь простой пример — с помощью циклов можно добиться гораздо большего.

Мы уже обсуждали циклы на примере цикла for. Здесь поговорим о while и do. while.

Цикл while в JavaScript

Синтаксис

while (условие) // тело цикла
>

Как это работает

1. Цикл while оценивает условие .

2. Если условие — true, выполняется код внутри цикла while.

3. Условие снова оценивается.

4. Этот процесс продолжается до тех пор, пока условие не станет false.

5. Когда условие становится false, цикл останавливается.

Подробнее про условия можно почитать в статье «Операторы сравнения и логические операторы в JS».

Блок-схема

Пример 1. Выводим на экран числа от 1 до 5

// инициализируем переменные i и n let i = 1, n = 5; // цикл будет идти, пока i 

Как это работает

Пример 2. Ищем сумму только положительных чисел

// считываем числа с клавиатуры и складываем их // если пользователь введет отрицательное число, цикл остановится // введенное отрицательное число не добавляется к сумме let sum = 0; // считываем ввод с клавиатуры let number = parseInt(prompt("Введите число: ")); while(number >= 0) < // складываем все положительные числа sum += number; // число было положительным — просим ввести новое число number = parseInt(prompt("Введите число: ")); >// выводим на экран сумму console.log(`Сумма введенных положительных чисел — $.`);
Введите число: 2
Введите число: 5
Введите число: 7
Введите число: 0
Введите число: -3
Сумма введенных положительных чисел — 14.

В приведенной выше программе пользователю предлагается ввести число.

Функция promt() принимает ввод от пользователя как строку, поэтому мы дополнительно используем функцию parseInt() — она превращает строку в число.

Если складывать просто строки, они будут «соединяться». Например, '2' + '3' = '23' .

Цикл while продолжается до тех пор, пока пользователь не введет отрицательное число. На каждой итерации число, введенное пользователем, добавляется к переменной sum .

Когда пользователь вводит отрицательное число, цикл завершается. На экран выводится итоговая сумма.

Цикл do. while в JavaScript

Синтаксис

do // тело цикла
> while (условие)

Как это работает

1. Сначала выполняется тело цикла . Только затем оценивается условие .

2. Если условие — true, тело цикла выполняется снова.

3. Условие оценивается еще раз.

4. Если условие — true, тело цикла выполняется снова.

5. Этот процесс продолжается до тех пор, пока условие не станет false. Тогда цикл останавливается.

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

Блок-схема

Пример 1. Выводим на экран числа от 1 до 5

let i = 1; const n = 5; do < console.log(i); i++; >while(i 

Как это работает

Пример 2. Ищем сумму только положительных чисел

// считываем числа с клавиатуры и складываем их // если пользователь введет отрицательное число, цикл остановится // введенное отрицательное число не добавляется к сумме let sum = 0; let number = 0; do < sum += number; number = parseInt(prompt("Введите число: ")); >while(number >= 0) console.log(`Сумма введенных положительных чисел — $.`);
Введите число: 2
Введите число: 4
Введите число: -500
Сумма введенных положительных чисел — 6.

Цикл do. while продолжается до тех пор, пока пользователь не введет отрицательное число. Когда число становится отрицательным, цикл завершается. Отрицательное число при этом не добавляется к переменной sum.

Введите число: -50
Сумма введенных положительных чисел — 0.

Если пользователь сразу введёт отрицательное число, цикл произведёт только одну итерацию.

Бесконечный цикл while

Если условие цикла всегда истинно, цикл будет выполнять бесконечное количество раз — пока не заполнится память.

// бесконечный цикл while while(true) < // тело цикла >

В примере выше условие всегда true. Тело цикла будет выполняться бесконечное количество раз.

// бесконечный цикл do. while const count = 1; do < // тело цикла >while(count == 1)

В примере выше условие всегда истинное, поэтому оценивается как true. этих пример условие всегда истинно. Тело цикла будет выполняться бесконечное количество раз.

Цикл for и Цикл while. В чём разница?

Цикл for обычно используют, когда количество итераций заранее известно.

// в этом цикле — 5 итераций for (let i = 1; i 

Циклы while и do. while обычно используют, когда количество итераций заранее неизвестно. ,

СodeСhick.io - простой и эффективный способ изучения программирования.

2023 © ООО "Алгоритмы и практика"

Источник

Циклы while и do. while

while - это оператор в JavaScript, позволяющий воспроизводить цикл, который выполняет задачу столько раз, пока истинно заданное условие. while чаще используется, когда количество итераций заранее неизвестно.

Синтаксис while

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

Инструкция выполняется столько раз, сколько раз на входе в цикл условие было истинно.

Пример №1

Цикл выводит модальное окно со значением n до тех пор пока n не будет меньше 4

 let n = 0; while (n < 4) < alert("n n num num n n 2">Цикл do. while 

Единственное отличие цикла do…while от while это то, что проверка условия происходит после выполнения тела цикла. Таким образом инструкция будет выполнена, как минимум один раз.

Синтаксис do. while

 do < // инструкция (тело цикла) >while (условие); 

Инструкция выполнится, как минимум один раз и будет повторятся до тех пор пока условие истинно. Если тело цикла состоит из одной строки фигурные скобки можно не ставить.

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

Пример №6

 let result = ''; let n = 0; do < n = n + 1; result = result + n; console.log("result Напишите ваше имя"); >while (!yourName); console.log(yourName); 

Программа создает модальное окно, в котором просит написать имя и далее выводит его в console.

Прерывание цикла - break

Выход из while при условии false не единственный способ прекратить цикл. С помощью директивы break мы можем завершить замкнутый цикл в любой момент.

Пример №8

 let n = 0; while (n < 12) < if (n === 4) < break; >n = n + 1; > alert(n); 

Без if с break цикл работал бы до тех пор пока условие было бы истинным, в нашем случае while прервался когда n стал равен 4.

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

Завершение текущей итерации - continue

Если необходимо прервать не весь цикл, а только одну итерацию при определенных условиях - используют дерективу continue . В while она переносит поток выполнения к условию.

Пример №9

 a = 0; b = 0; while (a < 10) < a++; if (a === 5) < continue; >b += a; console.log("b 5">Метки для continue и break 

Если циклы вложены друг в друга директивы continue и break могут не решать нужную задачу без помощи меток. Например при определенных условиях нам нужно выйти из всех уровней цикла.

Пример №10

 let a = 0; let b = 0; cancelLoops: while (true) < console.log('Outer loops: ' + a); a += 1; b = 1; while (true) < console.log('Inner loops: ' + b); b += 1; if (b === 8 && a === 5) < break cancelLoops; >else if (b === 8) < break; >> > 

break cancelLoops - выход из внешнего цикла

В этом примере при a = 5 и b = 8 мы переходим к завершению внешнего цикла while. Если a не равно 5 происходит выход из внутреннего цикла.

Пример №11

В данном уроке мы рассмотрели циклы while и do…while , которые различаются между собой только моментом проверки условия. while проверяет перед каждой итерацией, do…while после выполнения тела цикла.

Циклы while и do…while могут быть прерваны если проверяемое условие false и задействована директива break .

Итерация может быть прервана с помощью директивы continue .

continue и break поддерживают метки, которые дают возможность выйти за пределы цикла.

Skypro - научим с нуля

Источник

Использование циклов while и do…while в JavaScript

Автоматизация – это технология, которая позволяет системе самостоятельно выполнять определенные задачи. В программировании для автоматизации обработки повторяющихся задач используются циклы. Циклы – одна из самых полезных функций любого языка программирования.

Данный мануал научит вас использовать циклы do…while в JavaScript.

Выражения while и do…while похожи на условные операторы – блоки кода, которые выполняются в случае, если заданное условие оценивается как истинное. Но в отличие от оператора if, который оценивается один раз, циклы будут оцениваться множество раз до тех пор, пока условие не станет истинным.

Также вы могли сталкиваться с другим распространенным типом цикла – оператором for, который выполняется определенное количество раз. Циклы while и do…while основаны на условиях, и поэтому не требуют заранее указывать, сколько раз нужно повторить цикл.

Цикл while

В JavaScript while – это цикл, который выполняется до тех пор, пока указанное условие оценивается как истинное.

Его синтаксис очень похож на оператор if:

while (condition) // тело цикла
>

Оператор while – это самый базовый цикл в JavaScript.

Для примера предположим, что у нас есть аквариум, количество рыб в котором ограничено. Каждая итерация цикла добавит в него одну рыбу. После того, как в аквариуме появится 10 рыб, предел численности будет достигнут и программа перестанет добавлять рыб в аквариум.

Создайте файл aquarium.js и добавьте в него такой код:

// Ограничьте количество рыб в аквариуме до 10
const popLimit = 10;
// Задайте 0 в качестве стартового значения
let fish = 0;
// Инициируйте цикл, который будет работать, пока количество рыб не достигнет предела
while (fish < popLimit) // добавьте по 1 рыбе за итерацию
fish++;
console.log("There's room for " + (popLimit - fish) + " more fish.");
>

Запустите вышеуказанную программу, и вы получите следующий вывод:

The aquarium has room for 9 more fish.
The aquarium has room for 8 more fish.
The aquarium has room for 7 more fish.
The aquarium has room for 6 more fish.
The aquarium has room for 5 more fish.
The aquarium has room for 4 more fish.
The aquarium has room for 3 more fish.
The aquarium has room for 2 more fish.
The aquarium has room for 1 more fish.
The aquarium has room for 0 more fish.

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

Бесконечные циклы

Бесконечный цикл – это цикл, который будет работать постоянно. Если вы случайно создадите бесконечный цикл, он может привести к сбою браузера или компьютера. Бесконечных циклов в программах следует избегать.

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

while (true) // код будет обрабатываться вечно
>

Бесконечный цикл будет работать вечно, но программу можно прервать ключевым словом break.

В приведенном ниже примере вы увидите, как добавить оператор if в цикл while; когда условие будет выполнено, ключевое слово break прервет цикл.

// Установите условие true
const iceCapsAreMelting = true;
let polarBears = 5;
// Инициируйте бесконечный цикл
while (iceCapsAreMelting) console.log(`There are $ polar bears.`);
polarBears--;
// Прервите бесконечный цикл, если следующее условие оценивается как true
if (polarBears === 0) console.log("There are no polar bears left.");
break;
>
>

Запустите эту программу, и вы увидите такой вывод:

There are 5 polar bears.
There are 4 polar bears.
There are 3 polar bears.
There are 2 polar bears.
There are 1 polar bears.
There are no polar bears left.

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

Циклы do…while

Вы уже знаете о цикле while, который выполняет блок кода до тех пор, пока указанное условие истинно. На нем основан цикл do…while. Он очень похож на while, а основное различие между ними заключается в том, что do…while всегда выполняется по крайней мере один раз, даже если заданное условие никогда не оценивается как истинное.

Цикл do…while использует такой синтаксис:

do // тело цикла
> while (условие);

Как видите, do открывает блок кода, а while (условие) идет в конце. Блок кода запускается, а затем условие оценивается как в обычном цикле while.

Чтобы потренироваться, задайте переменной значение 0, добавьте ее инкремент в цикл do и установите значение false.

// Set variable to 0
let x = 0;
do // Increment variable by 1
x++;
console.log(x);
> while (false);
1

В выводе программа вернула 1, что означает, что блок кода обрабатывается циклом один раз (начиная с 0), после чего ложное условие while прерывает его.

Цикл do…while можно использовать для тех же целей, что и цикл while, но при этом следует помнить, что он выполняется как минимум один раз, даже если условие изначально ложно.

Заключение

Теперь вы знакомы с циклами while, do…while и бесконечными циклами в JavaScript.

Автоматизация повторяющихся задач – чрезвычайно важная часть программирования. Циклы могут помочь сделать программы более эффективными и сократить их код.

Больше информации о циклах while и do…while вы найдете в Mozilla Developer Network.

Читайте также:

Источник

Читайте также:  Java util collection interface
Оцените статью