Как сделать бесконечный цикл
Перейти к содержимому

Как сделать бесконечный цикл

  • автор:

Как сделать бесконечный цикл в javascript

Один из способов сделать бесконечный цикл в JavaScript — это использовать цикл for и ключевое слово Infinity , означающее бесконечность.

for (let i = 0; i  Infinity; i += 1)  console.log(i); > 

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

20 октября 2021

Чтобы получить бесконечный цикл в JavaScript, достаточно сделать так, чтобы условие цикла всегда было истинным. В этом случае цикл будет выполняться бесконечно. Пример с циклом while :

while(true)  console.log('Hello') > 

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

for(let i = 1;; i += 1)  console.log(i) > 

Циклы в Java – как создать и прервать

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

09 октября 2017 3 минуты 91756

Автор статьи
Мария Лисянская

Автор статьи
Мария Лисянская
https://gbcdn.mrgcdn.ru/uploads/post/1238/og_cover_image/ed12996e6ef61b13a868df82b32b1e6c

Цикл — это блок команд, который выполняется снова и снова, пока соблюдается определённое условие. Повторяемый фрагмент кода называют «телом цикла». Одно выполнение тела цикла называют итерацией.

В Яве можно работать с циклами нескольких типов — для этого есть следующие операторы:

while – цикл с предусловием – сначала проверяем условие, затем выполняем тело цикла;

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

for – цикл со счётчиком – выполняется и при каждой итерации обновляет счётчик, пока условие в объявлении цикла соблюдается (т.е. проверка условия возвращает true);

сокращенный for (в других языках известен как foreach) – перебирает массив от первого элемента до последнего и на каждой итерации выполняет тело цикла.

Если мы используем конструкции с while, значение нужно указать перед началом цикла:

int a = 1;

System.out.println(a);

a++; //увеличиваем а на единицу

Если же переменная работает как счётчик цикла, а за его пределами не используется, её инициализируют прямо в условии. И тут же пишут, что с ней делать в конце каждой итерации. Всё это – в одну строку – с помощью for:

System.out.println(a);

Получаем тот же результат. Список можно было начать с нуля или с отрицательного значения – диапазон определяем сами.

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

int[] ms = < 1, 2, 3, 4>; //создаем массив

int s = 0;

s *= i; //последовательно перемножаем элементы

System.out.println(s);

Вложенные циклы Java

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

Выведем таблицу умножения с помощью двух массивов:

int a, b, result = 0;

result = a*b;

Надежные бесконечные циклы в Python

На мой взгляд работа с такими циклами зиждется на двух китах:
Кит 1: Они не существуют. Да-да, бесконечный цикл — своего рода чеширский кот, который может незаметно для программиста раствориться, оставив улыбку. И вот чтобы от вашей программы и результатов ее работы тоже не оставалась одна улыбка (а скорее недовольная гримасса начальника/заказчика), приходится соблюдать определенную осторожность. Каждый бесконечный цикл когда-то начался, а значит, когда-нибудь закончится, самое главное, чтобы он закончился когда удобно вам, а не поставщику данных, пользователю, тыкнувшему Ctrl+C, или прилетевшему НЛО. Проектируйте точки выхода из цикла. Чаще всего это будет конец итерации, впрочем возможен выход из середины. А иногда будут такие случаи, что перед выходом, кровь из носу, надо сделать какие-то действия, может даже еще одну-две итерации. Значит: выход из цикла надо крепко держать в своих руках и не отдавать на откуп сторонним библиотекам.

Кит 2: Долой магию. Под «магией» я понимаю использование нестандартных «мего-крутых» гиковских вещей, поведение которых вы не можете прогнозировать на все 100%. Я сам люблю написать несколько строчек, чтобы все сразу сделалось как надо. Вопрос в том, всегда ли при изменении начальных условий эта мега-крутости будут вести себя устойчиво и предсказуемо? Если вы еще не изучили их досконально, то может надежнее и эффективнее использовать более классические подходы? А то получится, что сэкономили 10 строчек, получили массу гемора и падений в критические моменты, и в конце-концов, чтобы от них избавиться дописали еще 50 строк кода 🙂
Как вы уже поняли, «магия» — понятие относительное. Когда я только начинал изучать питон, мне и конструкция вида

url=self._url + (http_params and (glue + '&'.join(['%s=%s' % (k,v) for k,v in http_params.items()])) or '')

На основе этого я выработал свой подход создания бесконечных циклов. Заводится вспомогательная переменная, назвать можно как угодно, я обычно называю working, далее все просто:
working = True
while working:

А дальше когда надо меняем working = False, цикл докручивается до конца, а следующий не начинается. Впрочем подход гибкий — можно не просто выйти из цикла, а сделать еще какие-то действия, выйти по середине (if not working: break) или даже прокрутить еще один-два цикла — все как требуется по задаче.
Причем совершенно необязательно менять эту переменную в самом цикле. Можно повесить обработчик на сигналы ОС и по определенному сигналу сбросить этот флаг. Так можно сделать красивый выход из цикла, чтобы при нажатии Ctrl+C на экран не вываливался трейсбек, и все наработанные данные валились вместе с ним в тартарары. Так есть возможность довести работу до логической точки, сохранить файлы, записать все изменения в БД и красиво выйти, помахав пользователю ручкой.
Такой подход зарекомендовал себя как гибкий и надежный, и активно используется в разных демонах.
Какие подходы используете вы?

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

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

let bool = true; while (bool) < console.log('!'); >

А в следующем примере в цикле забыто увеличение счетчика. Такой цикл также будет выполняться вечно:

let i = 1; while (i < 100) < console.log('!'); >

Смотрите также

  • урок
    краткая справка по циклу while

Трепачёв Дмитрий © 2012-2023
t.me/trepachev_dmitry

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

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