Циклы являются способом многократного выполнения кода в Kotlin. В этом уроке мы познакомимся с одним из типов циклов, а именно — циклом while.

Содержание статьи

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

Цикл while в Kotlin

Цикл while повторяет блок кода, пока выполняется условие. Цикл while в Kotlin создается следующим образом:

Цикл проверяет условие для каждой итерации. Если условие истинно (true), цикл выполняется и переходит к другой итерации.

Если условие ложно (false), цикл останавливается. Как и выражения if, циклы while создает свою собственную область видимости.

Простейший цикл while имеет следующую форму:

Это вечный цикл while в Kotlin, так как условие всегда истинно (true). Конечно, вам вряд ли потребуется писать такой цикл while, потому что в этом случае программа будет выполняться вечно! Бесконечный цикл не приведет к сбою программы, но из-за него может зависнуть компьютер.

Далее представлен более полезные пример цикла while в Котлин:

Данный код подсчитывает математическую последовательность до того момента, где значение больше 1000.

Цикл выполняется следующим образом:

  • Перед итерацией 1: sum = 1, условие цикла = true
  • После итерации 1: sum = 3, условие цикла = true
  • После итерации 2: sum = 7, условие цикла = true
  • После итерации 3: sum = 15, условие цикла = true
  • После итерации 4: sum = 31, условие цикла = true
  • После итерации 5: sum = 63, условие цикла = true
  • После итерации 6: sum = 127, условие цикла = true
  • После итерации 7: sum = 255, условие цикла = true
  • После итерации 8: sum = 511, условие цикла = true
  • После итерации 9: sum = 1023, условие цикла = false

После девятой итерации переменная sum равна 1023, следовательно, условие sum < 1000 становится ложным (false). В данной точке — цикл останавливается.

Цикл do-while в Kotlin

Одним из вариантов цикла while является цикл do-while. Он отличается от цикла while тем, что условие проверяется в конце цикла, а не в начале. Это означает, что хотя бы 1 раз тело цикла будет выполнено.

Далее дан пример из прошлого раздела, только здесь используется цикл do-while:

В данном примере вывод такой же, как и раньше. Однако, так бывает не всегда. Вы можете получить другой результат с другим условием. Рассмотрим следующий цикл while:

Рассмотрим аналогичный цикл do-while, который использует такое же условие:

В случае обычного цикла while условие sum < 1 является ложным с самого начала. Это означает, что тело цикла не будет выполнено! Значение sum будет равна 1, потому что цикл не будет выполнять никаких итераций. В случае цикла do-while сумма sum будет равна 3, потому что цикл do-while ВСЕГДА выполнится хотя бы один раз, даже если изначально условие ложное.

Прерывание цикла с помощью break в Kotlin

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

К примеру, рассмотрим следующий код:

Здесь условие цикла истинно (true), поэтому цикл будет повторятся бесконечно. Однако оператор break указывает на то, что цикл while завершится, когда сумма будет больше или равна 1000.

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

Вам следует выбирать наиболее удобные в зависимости от ситуации. Это подход, который вы усвоите со временем и практикой.

Задачи для проверки

1. Создайте переменную counter, значением которой будет 0. Создайте цикл while с условием counter < 10, который выводит counter равен X (где Х заменяется значением counter) и затем увеличивает counter на 1;

2. Создайте переменную counter со значением 0. Создайте другую переменную под названием roll, значением которой будет 0. Создайте цикл do-while.

Внутри цикла укажите, что переменная roll равна Random().nextInt(6), то есть выбор случайного числа между 0 и 5. Затем увеличьте counter на 1.

Под конец выведите После X бросков, roll равен Y, где Х является значением counter, а Y — значением roll. Укажите условие цикла, при котором цикл будет заканчиваться при выпаде первого 0.

3.5 2 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
13 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
trackback
8 дней назад

prix pour kamagra

kamagra livraison de livraison sans ordonnance le lendemain

trackback
8 дней назад

online order enclomiphene australia generic online

buy enclomiphene uk sales

trackback
8 дней назад

get androxal generic online uk

order androxal canada on sale

trackback
8 дней назад

purchase flexeril cyclobenzaprine generic lowest price

buy cheap flexeril cyclobenzaprine uk order

trackback
8 дней назад

discount dutasteride generic medications

ordering dutasteride price london

trackback
8 дней назад

buy cheap gabapentin no prescription

cheapest buy gabapentin cheap uk buy purchase

trackback
8 дней назад

cheapest buy fildena canada drugs

online order fildena usa price

trackback
8 дней назад

ordering itraconazole no rx needed

itraconazole cheap

trackback
8 дней назад

buying staxyn australia price

buy cheap staxyn cheap where

trackback
8 дней назад

how to buy avodart price netherlands

buying avodart no prescription usa

trackback
8 дней назад

get xifaxan australia suppliers

order prescription free xifaxan

trackback
8 дней назад

get rifaximin cost on prescription

order rifaximin price uk

trackback
7 дней назад

kamagra žádné rx krmení ex

kamagra tablety kanadské zdravotní péče

13
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x