Циклы
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 перебирает коллекции, например, массивы, и будет рассмотрен далее...