Циклы

Циклы

Unity - от чайника до первой игры.


Что такое цикл - это операторы, которые выполняют задачу определённое количество повторений, заданное с помощью переменных.

Виды циклов:

  • for
  • foreach
  • while
  • do... while


Цикл for:

Определение цикла:

И простой пример этого цикла:

Первая часть объявления цикла - int i = 0 - создает и инициализирует счетчик i. Счетчик может представлять не только тип int а может так же float и не только. Перед выполнением цикла его значение будет равно 0. В данном случае это то же самое, что и объявление переменной.

Вторая часть - условие, при котором будет выполняться цикл. Пока условное выражение возвращает true, будет выполняться цикл. Здесь цикл будет выполняться, пока счетчик i не достигнет 5.

И третья часть - приращение счетчика на единицу. Опять же нам необязательно увеличивать на единицу. Можно уменьшать: i--. Можно увеличивать на 2, 3 и более, всё зависит от потребностей.

В итоге блок цикла сработает 5 раз, пока значение i не станет равным 5. И каждый раз это значение будет увеличиваться на 1.

Нам необязательно указывать все условия при объявлении цикла. Например, мы можем написать так:

Формально определение цикла осталось тем же, только теперь блоки в определении у нас пустые: for (; i <;). У нас нет инициализированной переменной-счетчика, нет условия, поэтому цикл будет работать вечно - бесконечный цикл. Только подсчёт выполнения циклов.

Мы также можем опустить ряд блоков:

Этот пример по сути эквивалентен первому примеру: у нас также есть счетчик, только создан он вне цикла. У нас есть условие выполнения цикла. И есть приращение счетчика уже в самом блоке for.

Цикл do:

В данном цикле сначала выполняется код цикла, важно отметить, что цикл do будет выполнен как минимум один раз, так как он после выполнения кода проходит проверку условия в инструкции while. И если условие истинно (true), цикл повторяется опять:

А так же пример если условие в инструкции while не будет истинно:

Как мы видим переменная i меньше 0, однако код запускается и выполняется, но только один раз.

Цикл while:

В отличии от цикла do, while выполняет проверку на истинность условия, если условие истинно (true), то код внутри цикла будет выполнен следом:

Операторы continue и break:

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

Например:

В условии цикла сказано, что цикл будет выполняться, пока счетчик i не достигнет значения 10, в реальности цикл сработает 3 раз. Так как при достижении счетчиком i значения 3, сработает оператор break, и цикл завершится.

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

В этом случае цикл, когда дойдет до числа 12, которое не удовлетворяет условию проверки, просто пропустит это число и перейдет к следующей итерации.

Цикл foreach

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



Report Page