Мотивация
Эта статья написана для более продвинутых разработчиков, которые хотят быстро освоить язык Kotlin для работы или для интересных проектов.
В этой статье мы рассмотрим циклы и исключения и то, как их лучше использовать. Это часть 3 из более длинного цикла статей.
Часть 1 : Начало работы с Kotlin
Часть 2 : Поток управления в Kotlin
Часть 3 : Циклы и исключения в Kotlin
Часть 4 : Работа с типами в Kotlin (скоро будет)
Циклы While
Циклы While имеют следующий общий синтаксис
while (Boolean Expression is true){
//Perform some action
}
На каждой итерации Kotlin проверяет, истинно ли еще булево выражение. Если оно истинно, то продолжается итерация блока.
Примечание: Это означает, что если ваше условие не истинно, то цикл никогда не выполнится.
Пример этого мы можем увидеть ниже
fun main(){
val repetitions = 10;
var counter = 0
while(counter < repetitions){
println("Counter : $counter ")
counter++
}
}
что дает нам вывод
Counter : 0
Counter : 1
Counter : 2
Counter : 3
Counter : 4
Counter : 5
Counter : 6
Counter : 7
Counter : 8
Counter : 9
Do-While
Если вы хотите, чтобы ваш цикл выполнялся хотя бы один раз, то вам, скорее всего, подойдет цикл do-while
.
do{
// Perform some action
} while(Boolean Expression is true)
Мы можем переписать приведенный выше цикл while в цикл do-while следующим образом
fun main(){
val repetitions = 10;
var counter = 0
do{
println("Counter : $counter ")
counter++
}while(counter < repetitions)
}
Примечание: Это означает, что если ваше условие не истинно, то цикл выполнится хотя бы один раз.
Мы можем проверить, что наш цикл do while выполняется хотя бы один раз, используя приведенный ниже фрагмент кода
fun main(){
val condition = false
do{
println("Loop Ran")
}while(condition)
}
Циклы For-Loops
Мы также можем использовать For-Loops
, если у нас есть известное количество итераций, за которое мы хотим выполнить наши блоки кода.
Общий синтаксис таков
for(x in something){
//Do Something
}
Существует два основных способа работы с циклами for — использование repeat
или ranges
.
Повторять
Вызов функции repeat
позволяет нам выполнять действие заданное количество раз.
fun main(){
repeat(3){
println("Loop Ran")
}
}
Что дает результат
Loop Ran
Loop Ran
Loop Ran
Диапазоны
Ниже мы можем увидеть более конкретный пример использования диапазонов с
fun main(){
val range = 3..5
for(i in range){
println(i)
}
}
Примечание:
3..5
— это сокращенный синтаксис, который мы используем для создания диапазона. Поэтому в данном случае3..5
эквивалентен диапазону со значениями3,4,5
.
Мы можем генерировать один и тот же диапазон разными способами, как показано ниже
3..5
3 until 5
3..5 step 1
Мы также можем генерировать диапазоны в обратном направлении (например, 5,4,3).
5 downTo 3 step 1
Примечание: Диапазоны могут также использоваться для символов (например, «a», «b», «c», которые могут быть сгенерированы
'a'...'c'
).