Цикл for в Kotlin перебирает все, что предоставляет итератор. В этой статье вы научитесь создавать цикл for (с помощью примеров).
В Kotlin нет традиционного цикла for, в отличие от Java и других языков.
В Kotlin for
цикл используется для перебора диапазонов, массивов, карт и т. Д. (Всего, что предоставляет итератор).
Синтаксис for
цикла в Котлине:
for (элемент в коллекции) (// тело цикла)
Пример: итерация по диапазону
fun main(args: Array) ( for (i in 1… 5) ( println(i) ) )
Здесь цикл проходит по диапазону и печатает отдельный элемент.
Когда вы запустите программу, вывод будет:
1 2 3 4 5
Если тело цикла содержит только одну инструкцию (как в примере выше), использовать фигурные скобки не обязательно ( )
.
fun main(args: Array) ( for (i in 1… 5) println(i) )
Можно перебирать диапазон с помощью for
цикла, потому что диапазоны предоставляют итератор. Чтобы узнать больше, посетите итераторы Kotlin.
Пример: различные способы обхода диапазона
fun main(args: Array) ( print("for (i in 1… 5) print(i) = ") for (i in 1… 5) print(i) println() print("for (i in 5… 1) print(i) = ") for (i in 5… 1) print(i) // prints nothing println() print("for (i in 5 downTo 1) print(i) = ") for (i in 5 downTo 1) print(i) println() print("for (i in 1… 4 step 2) print(i) = ") for (i in 1… 5 step 2) print(i) println() print("for (i in 4 downTo 1 step 2) print(i) = ") for (i in 5 downTo 1 step 2) print(i) )
Когда вы запустите программу, вывод будет:
for (i in 1… 5) print (i) = 12345 for (i in 5… 1) print (i) = for (i in 5 downTo 1) print (i) = 54321 for (i in 1… 4 step 2) ) print (i) = 135 for (i in 4 down To 1 step 2) print (i) = 531
Итерации по массиву
Вот пример перебора String
массива.
fun main(args: Array) ( var language = arrayOf("Ruby", "Koltin", "Python" "Java") for (item in language) println(item) )
Когда вы запустите программу, вывод будет:
Ruby Koltin Python Java
Можно перебирать массив с индексом. Например,
fun main(args: Array) ( var language = arrayOf("Ruby", "Koltin", "Python", "Java") for (item in language.indices) ( // printing array elements having even index only if (item%2 == 0)
println (язык (элемент))))
Когда вы запустите программу, вывод будет:
Ruby Python
Если вы хотите узнать больше о массивах, посетите массивы Kotlin.
Итерации по строке
fun main(args: Array) ( var text= "Kotlin" for (letter in text) ( println(letter) ) )
Когда вы запустите программу, вывод будет:
К отлин
Подобно массивам, вы можете выполнять итерацию по String
индексу. Например,
fun main(args: Array) ( var text= "Kotlin" for (item in text.indices) ( println(text(item)) ) )
Когда вы запустите программу, вывод будет:
К отлин
Вы научитесь перебирать карту с помощью for
цикла в статье о карте Котина.