English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Цикл for в Kotlin遍历 любые объекты, предоставляющие итератор. В этой статье вы узнаете, как создавать цикл for (с помощью примеров).
В отличие от Java и других языков, в Kotlin нетТрадиционный цикл for.
В Kotlin, цикл for используется для перебора диапазонов, массивов, мап и других объектов, предоставляющих итератор.
Синтаксис цикла for в Kotlin:
for (item in collection) { //тело цикла }
fun main(args: Array<String>) { for (i in 1..5) { println(i) } }
Здесь выполняется циклический перебор диапазона и вывод个别 элементов.
При выполнении этого программы выводится:
1 2 3 4 5
Если тело цикла содержит только одну команду (например, в приведенном выше примере), то не нужно использовать фигурные скобки { }.
fun main(args: Array<String>) { for (i in 1..5) println(i) }
можно итерировать диапазон с помощью цикла for, так как range предоставляет итератор.
fun main(args: Array<String>) { 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) // выводит ничего println() print("for (i in 5..1) print(i) = ") for (i in 5..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..1 step 2) print(i) = ") for (i in 5..1 step 2) print(i) }
При выполнении этого программы выводится:
for (i in 1..5) print(i) = 12345 for (i in 5..1) print(i) = for (i in 5..1) print(i) = 54321 for (i in 1..4 step 2) print(i) = 135 for (i in 4..1 step 2) print(i) = 531
Это пример итерации массива строк.
fun main(args: Array<String>) { var language = arrayOf("Ruby", "Koltin", "Python" "Java") for (item in language) println(item) }
При выполнении этого программы выводится:
Ruby Koltin Python Java
можно итерировать массив с индексами. Например,
fun main(args: Array<String>) { var language = arrayOf("Ruby", "Koltin", "Python", "Java") for (item in language.indices) { //печать элементов массива с четными индексами if (item % 2 == 0) { println(language[item]) } } }
При выполнении этого программы выводится:
Ruby Python
fun main(args: Array<String>) { var text = "Kotlin" for (letter in text) { println(letter) } }
При выполнении этого программы выводится:
K o t l i n
Как и в массивах, вы можете использовать индекс для遍ения строк. Например:
fun main(args: Array<String>) { var text = "Kotlin" for (item in text.indices) { println(text[item]) } }
При выполнении этого программы выводится:
K o t l i n