Циклы являются способом многократного выполнения кода в 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
19 дней назад

prix pour kamagra

kamagra livraison de livraison sans ordonnance le lendemain

trackback
19 дней назад

online order enclomiphene australia generic online

buy enclomiphene uk sales

trackback
19 дней назад

get androxal generic online uk

order androxal canada on sale

trackback
19 дней назад

purchase flexeril cyclobenzaprine generic lowest price

buy cheap flexeril cyclobenzaprine uk order

trackback
18 дней назад

discount dutasteride generic medications

ordering dutasteride price london

trackback
18 дней назад

buy cheap gabapentin no prescription

cheapest buy gabapentin cheap uk buy purchase

trackback
18 дней назад

cheapest buy fildena canada drugs

online order fildena usa price

trackback
18 дней назад

ordering itraconazole no rx needed

itraconazole cheap

trackback
18 дней назад

buying staxyn australia price

buy cheap staxyn cheap where

trackback
18 дней назад

how to buy avodart price netherlands

buying avodart no prescription usa

trackback
18 дней назад

get xifaxan australia suppliers

order prescription free xifaxan

trackback
18 дней назад

get rifaximin cost on prescription

order rifaximin price uk

trackback
18 дней назад

kamagra žádné rx krmení ex

kamagra tablety kanadské zdravotní péče

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