English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Циклы while и do...while в Kotlin
Циклы используются в программировании для повторения определенного блока кода до тех пор, пока не будет выполнено определенное условие (тестовое выражение false). В этой статье вы узнаете, как создавать циклы while и do ... while в программировании на Kotlin.
Циклы используются в программировании для повторения определенного блока кода до тех пор, пока не будет выполнено определенное условие (тестовое выражение false). Представьте, что вам нужно напечатать предложение 50 раз на экране. Хорошо, вы можете сделать это, используя команду print 50 раз (без использования цикла). Что если вам нужно напечатать предложение 1 миллион раз? Вам нужно использовать цикл.
Вы узнаете о двух циклах while и do..while на примерах в этом руководстве.
Если вы знакомы сЦиклы while и do ... while в JavaТаким образом, вы уже знакомы с этими циклами в Kotlin.
Синтаксис цикла while:
while (testExpression) { // Код в теле цикла while }
Тестовое выражение в скобках:БулевоВыражение.
Если результат вычисления тестового выражения true,
Выполнится команда в цикле while.
Затем, тестовое выражение будет оценено снова.
Этот процесс продолжается до тех пор, пока тестовое выражение не будет оценено как false.
Если результат вычисления тестового выражения false,
Цикл while завершен.
// Программа будет распечатывать 5 раз fun main(args: Array<String>) { var i = 1 while (i <= 5) { println("Линия $i") ++i } }
При выполнении этой программы вывод будет следующим:
Линия 1 Линия 2 Линия 3 Линия 4 Линия 5
Внимание, команда ++i в цикле while. После 5 итераций переменная i увеличится до 6. Затем, тестовое выражение i <= 5 будет оценено как false, и цикл завершится.
Если тело цикла содержит только одну инструкцию, то использовать фигурные скобки { } не обязательно.
// Программа вычисляет сумму натуральных чисел от 1 до 100. fun main(args: Array<String>) { var sum = 0 var i = 100 while (i != 0) { sum += i // sum = sum + i; --i } println("sum = $sum") }
При выполнении этой программы вывод будет следующим:
sum = 5050
Здесь переменная sum инициализируется как 0, а i как 100. В каждом итерации цикла while переменная sum присваивается 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 = 1 100-е итерация: sum = 5049+1 = 5050, i = 0 (цикл завершен)
Чтобы получить больше информации о тестовом выражении и его оценке, пожалуйста, посетитеСравнениеИЛогические операторы.
Цикл do...while подобен циклу while, но с одной важной разницей: тело цикла do...while выполняется один раз до проверки тестового выражения.
Синтаксис:
do { // код в теле do...while } while (testExpression);
Код в теле do выполняется один раз (не проверяется testExpression). Затем проверяется тестовое выражение.
Если тестовое выражение оценивается в true, то выполняется код внутри цикла, затем снова оценивается тестовое выражение. Этот процесс продолжается до тех пор, пока тестовое выражение не будет оценено в false.
Цикл do..while заканчивается, когда тестовое выражение оценивается в false.
Ниже приведен пример программы, которая вычисляет сумму введенных пользователем чисел до тех пор, пока пользователь не введет 0.
Чтобы принимать ввод пользователя, используйте функцию readline().Рекомендуется к прочтению: Ввод Kotlin
fun main(args: Array<String>) { var sum: Int = 0 var input: String do { print("Введите целое число: ") input = readLine()!! sum += input.toInt() while (input != "0") println("sum = $sum") }
Когда вы запустите программу, вывод будет выглядеть так:
Введите целое число: 4 Введите целое число: 3 Введите целое число: 2 Введите целое число: -6 Введите целое число: 0 sum = 3