Цикл for по диапазонам и коллекциям
Используйте for с IntRange, downTo, step и коллекциями.
«Цикл for по диапазонам и коллекциям» — бесплатный урок Kotlin Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Academy содержит 4 уроков всего.
Циклы for в Kotlin
Цикл for в Kotlin перебирает всё, что предоставляет итератор: диапазоны, массивы, списки, отображения, множества и даже строки.
Цикл for по диапазону
Используйте .., чтобы создать целочисленный диапазон с включёнными границами. Цикл выполняется от начального до конечного значения включительно.
fun main() {
for (i in 1..5) {
println(i)
}
// 1, 2, 3, 4, 5
}Диапазон с until без верхней границы
until создаёт диапазон, не включающий верхнюю границу, — это удобно для циклов по индексам.
fun main() {
for (i in 0 until 4) {
println("Index: $i")
}
// 0, 1, 2, 3
}downTo для обратного отсчёта
downTo перебирает значения в обратном порядке от начального до конечного значения включительно.
fun main() {
for (i in 10 downTo 1) {
print("$i ")
}
println() // 10 9 8 7 6 5 4 3 2 1
}step для пропуска значений
Объединяйте любой диапазон с step, чтобы увеличивать шаг между итерациями.
fun main() {
for (i in 0..20 step 5) {
print("$i ")
}
println() // 0 5 10 15 20
}Перебор списка
Циклы for без проблем работают с коллекциями: перебирайте элементы напрямую, не используя индексы.
fun main() {
val fruits = listOf("apple", "banana", "cherry")
for (fruit in fruits) {
println(fruit)
}
}Перебор списка по индексам
Используйте indices, чтобы получить позиции, или withIndex(), чтобы сразу получить и индекс, и значение.
fun main() {
val items = listOf("a", "b", "c")
for (i in items.indices) {
println("$i: ${items[i]}")
}
for ((idx, v) in items.withIndex()) {
println("idx=$idx v=$v")
}
}Перебор отображения
Разберите каждую запись отображения на пары (ключ, значение) прямо в заголовке цикла.
fun main() {
val scores = mapOf("Alice" to 92, "Bob" to 78)
for ((name, score) in scores) {
println("$name: $score")
}
}Перебор строки
Строки поддерживают перебор: каждый символ последовательно проходит через цикл.
fun main() {
for (c in "Kotlin") {
print("$c ")
}
println() // K o t l i n
}Вложенные циклы for
Циклы можно вкладывать друг в друга для обхода таблиц и матриц. Используйте несколько переменных и внутренние диапазоны.
fun main() {
for (row in 1..3) {
for (col in 1..3) {
print("($row,$col) ")
}
println()
}
}Диапазон символов
Диапазоны символов тоже работают — это особенно удобно для перебора алфавита.
fun main() {
for (c in 'A'..'E') {
print("$c ")
}
println() // A B C D E
}Быстрая проверка
Какая форма диапазона не включает верхнюю границу?
Итоги
Используйте for (x in ...) с диапазонами (.., until, downTo, step) или любой итерируемой структурой (списком, отображением, строкой). Разбирайте записи отображения с помощью (k, v), а индексы объединяйте со значениями с помощью withIndex().
Часто задаваемые вопросы
Урок «Цикл for по диапазонам и коллекциям» бесплатный?
Да — полный текст урока «Цикл for по диапазонам и коллекциям» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Academy, подпишись на CoddyKit PRO. Курс Kotlin Academy содержит 4 уроков всего.
Чему я научусь в уроке «Цикл for по диапазонам и коллекциям»?
Используйте for с IntRange, downTo, step и коллекциями. Ты практикуешь Kotlin Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Kotlin Academy?
Предыдущий опыт не требуется. Kotlin Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «Цикл for по диапазонам и коллекциям»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Kotlin Academy?
Да. Каждый урок Kotlin Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Цикл for по диапазонам и коллекциям
- while и do-while: когда что использовать
- forEach, repeat и forEachIndexed
- break, continue и возвраты с метками