Диапазоны в циклах
Удобно перебирайте значения
«Диапазоны в циклах» — бесплатный урок 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 — локальная установка не требуется.