Котлин while and do ... while Loop (с примерами)

Цикл используется в программировании для повторения определенного блока кода. В этой статье вы научитесь создавать циклы while и do… while в программировании на Kotlin.

Цикл используется в программировании для повторения определенного блока кода до тех пор, пока не будет выполнено определенное условие (тестовое выражение false).

Циклы - вот что делает компьютеры интересными машинами. Представьте, что вам нужно 50 раз напечатать предложение на экране. Что ж, вы можете сделать это, используя оператор печати 50 раз (без использования циклов). Как насчет того, чтобы напечатать предложение миллион раз? Вам нужно использовать петли.

О двух петлях вы узнаете whileи do… whileв этой статье на примерах.

Если вы знакомы с циклами while и do… while в Java, вы уже знакомы с этими циклами в Kotlin.

Котлин во время цикла

Синтаксис whileцикла:

 while (testExpression) (// код внутри тела цикла while)

Как работает цикл while?

Тестовое выражение в круглых скобках является логическим выражением.

Если проверочное выражение оценивается как true,

  • операторы внутри цикла while выполняются.
  • затем тестовое выражение вычисляется снова.

Этот процесс продолжается до тех пор, пока не будет оценено тестовое выражение false.

Если проверочное выражение оценивается как false,

  • пока цикл завершен.

Блок-схема цикла while

Пример: Котлин во время цикла

 // Программа для печати строки 5 раз fun main(args: Array) ( var i = 1 while (i <= 5) ( println("Line $i") ++i ) )

Когда вы запустите программу, вывод будет:

 Строка 1 Строка 2 Строка 3 Строка 4 Строка 5

Обратите внимание, ++iоператор внутри whileцикла. После 5 итераций переменная i будет увеличена до 6. Затем проверочное выражение i <= 5вычисляется falseи цикл завершается.

Если в теле цикла есть только один оператор, фигурные скобки использовать не обязательно ( ).

Пример: вычислить сумму натуральных чисел

 // Program to compute the sum of natural numbers from 1 to 100. fun main(args: Array) ( var sum = 0 var i = 100 while (i != 0) ( sum += i // sum = sum + i; --i ) println("sum = $sum") )

Когда вы запустите программу, вывод будет:

 сумма = 5050

Здесь сумма переменных инициализируется значением 0, а i - значением 100. На каждой итерации цикла while назначается сумма переменных sum + i, а значение i уменьшается на 1, пока i не станет равным 0. Для лучшей визуализации

 1-я итерация: sum = 0 + 100 = 100, i = 99 2-я итерация: sum = 100 + 99 = 199, i = 98 3-я итерация: sum = 199 + 98 = 297, i = 97…… 99-я итерация: sum = 5047 +2 = 5049, i = 1100-я итерация: sum = 5049 + 1 = 5050, i = 0 (тогда цикл завершается)

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

Kotlin do … while Loop

do… whileЦикл похож на whileпетлю с одним ключевым отличием. Тело do… whileцикла выполняется один раз перед проверкой тестового выражения.

Его синтаксис:

 do (// код внутри тела цикла do while) while (testExpression);

Как … работает цикл while?

Коды внутри тела doконструкции выполняются один раз (без проверки testExpression). Затем проверяется тестовое выражение.

Если тестовое выражение оценивается true, коды внутри тела цикла выполняются, и тестовое выражение оценивается снова. Этот процесс продолжается до тех пор, пока не будет оценено тестовое выражение false.

Когда проверяется выражение тестового выражения false, do… whileцикл завершается.

Блок-схема цикла do… while

Пример: Kotlin do… while Loop

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

Чтобы принять ввод от пользователя, readline()используется функция. Рекомендуемая литература: Kotlin Basic Input

 fun main(args: Array) ( var sum: Int = 0 var input: String do ( print("Enter an integer: ") input = readLine()!! sum += input.toInt() ) while (input != "0") println("sum = $sum") )

Когда вы запустите программу, результат будет примерно таким:

 Введите целое число: 4 Введите целое число: 3 Введите целое число: 2 Введите целое число: -6 Введите целое число: 0 сумма = 3 

Интересные статьи...