0Pricing
Kotlin Academy · Урок

Диапазоны в циклах

Удобно перебирайте значения

«Диапазоны в циклах» — бесплатный урок Kotlin Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Kotlin Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Kotlin Academy содержит 4 уроков всего.

Диапазоны управляют циклами

Диапазоны и прогрессии — естественный способ задавать циклы for в Kotlin.

Классического цикла for(i=0; i<n; i++) в стиле C нет: вместо этого выполняется перебор диапазона.

Простой цикл счёта

Перебирайте включающий диапазон, чтобы считать от начала до конца.

Переменная по очереди принимает каждое значение.

fun main() {
    for (i in 1..5) {
        print(i.toString() + " ")
    }
    println()
}

Циклы с исключением границы через until

При счёте с нуля until останавливается на единицу раньше границы.

Это стандартный способ выполнить цикл известное число раз.

fun main() {
    for (i in 0 until 4) {
        print(i.toString() + " ")
    }
    println()
}

Цикл по индексам

Используйте indices, чтобы перебрать допустимые позиции коллекции.

Это сокращённая запись 0 until size.

fun main() {
    val items = listOf("x", "y", "z")
    for (i in items.indices) {
        println(i.toString() + " -> " + items[i])
    }
}

Обратный отсчёт

Объедините downTo с циклом, чтобы считать в обратном порядке. Это идеально подходит для обратного отсчёта.

fun main() {
    for (i in 5 downTo 1) {
        print(i.toString() + " ")
    }
    println("liftoff")
}

Перебор с шагом

Добавьте step, чтобы выполнять перебор с настраиваемым приращением, например обрабатывать каждое второе значение.

fun main() {
    for (i in 0..20 step 5) {
        print(i.toString() + " ")
    }
    println()
}

Перебор символов

Диапазоны символов позволяют напрямую перебирать буквы или цифры.

fun main() {
    for (c in 'a'..'e') {
        print(c)
    }
    println()
}

withIndex для значения и позиции

Если нужны и индекс, и элемент, withIndex объединяет их в пару.

Эту пару можно деструктурировать прямо в заголовке цикла.

fun main() {
    val items = listOf("a", "b", "c")
    for ((index, value) in items.withIndex()) {
        println(index.toString() + ": " + value)
    }
}

Вложенные циклы по диапазонам

Вкладывайте циклы по диапазонам, чтобы создавать сетки или таблицы.

Посещается каждая комбинация двух переменных.

fun main() {
    for (row in 1..3) {
        for (col in 1..3) {
            print((row * col).toString() + "\t")
        }
        println()
    }
}

Накопление в цикле

Цикл по диапазону отлично подходит для накопления результата, например текущей суммы.

fun main() {
    var sum = 0
    for (i in 1..100) {
        sum += i
    }
    println(sum)
}

Объединяем всё вместе

Диапазоны делают циклы понятными и выразительными:

  • .. и until для счёта
  • indices для позиций в коллекции
  • downTo и step для направления и шага
  • withIndex для значения и позиции
fun main() {
    val data = listOf(10, 20, 30)
    for (i in data.indices) {
        println("item " + i + " = " + data[i])
    }
}

Быстрая проверка

Проверьте, насколько хорошо Вы поняли использование диапазонов в циклах.

Итоги

Вы научились выполнять циклы с диапазонами:

  • .., until, indices для счёта
  • downTo и step для направления и шага
  • withIndex для индекса и значения

Далее Вы изучите диапазоны символов и пользовательские типы диапазонов.

Часто задаваемые вопросы

Урок «Диапазоны в циклах» бесплатный?

Да — полный текст урока «Диапазоны в циклах» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Kotlin Academy, подпишись на CoddyKit PRO. Курс Kotlin Academy содержит 4 уроков всего.

Чему я научусь в уроке «Диапазоны в циклах»?

Удобно перебирайте значения Ты практикуешь Kotlin Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Kotlin Academy?

Предыдущий опыт не требуется. Kotlin Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Диапазоны в циклах»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Kotlin Academy?

Да. Каждый урок Kotlin Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Операторы диапазонов
  2. step и downTo
  3. Диапазоны в циклах
  4. Диапазоны Char и пользовательские диапазоны
← Назад к Kotlin Academy