Fluxo de Controle em Kotlin
Условия и циклы в Kotlin: if, when, for с примерами
В Kotlin if и when — это выражения (expressions), они возвращают значения! Это делает код компактным. Диапазоны (ranges) делают циклы мощными. В этом уроке изучим всё управление потоком в Kotlin!
if как выражение
val a = 10
val b = 20
// Обычное if
if (a > b) { println("a больше") }
else { println("b больше или равно") }
// if как выражение — возвращает значение!
val max = if (a > b) a else b
println("Максимум: $max") // 20
// Многострочный if-выражение
val description = if (a > 0) {
println("Положительное")
"positive" // Последнее выражение — результат
} else if (a < 0) {
"negative"
} else {
"zero"
}
when — мощный switch
val day = 3
when (day) {
1 -> println("Понедельник")
2 -> println("Вторник")
3 -> println("Среда")
4 -> println("Четверг")
5 -> println("Пятница")
6, 7 -> println("Выходной! 🎉")
else -> println("Неверный день")
}
// when как выражение
val dayName = when (day) {
1 -> "Понедельник"; 2 -> "Вторник"; 3 -> "Среда"
4 -> "Четверг"; 5 -> "Пятница"; 6, 7 -> "Выходной"
else -> "Неверно"
}
println("День: $dayName")
when с диапазонами
val score = 78
val grade = when (score) {
in 90..100 -> "A (Отлично)"
in 75 until 90 -> "B (Хорошо)"
in 60 until 75 -> "C (Удовлетворительно)"
in 0 until 60 -> "F (Неудовлетворительно)"
else -> "Неверная оценка"
}
println("Оценка: $grade")
when без аргумента
val number = 42
when {
number < 0 -> println("Отрицательное")
number == 0 -> println("Ноль")
number % 2 == 0 -> println("Чётное положительное")
else -> println("Нечётное положительное")
}
when с типами
fun describe(value: Any): String = when (value) {
is Int -> "Целое: $value"
is Double -> "Дробное: $value"
is String -> "Строка длиной ${value.length}"
is Boolean -> "Логическое: $value"
else -> "Другое"
}
println(describe(42)) // Целое: 42
println(describe("Hello")) // Строка длиной 5
for циклы с диапазонами
for (i in 1..5) { print("$i ") } // 1 2 3 4 5
for (i in 1 until 5) { print("$i ") } // 1 2 3 4
for (i in 5 downTo 1) { print("$i ") } // 5 4 3 2 1
for (i in 0..20 step 5) { print("$i ") } // 0 5 10 15 20
for с коллекциями
val fruits = listOf("Яблоко", "Банан", "Апельсин")
for (fruit in fruits) { println(fruit) }
for ((index, fruit) in fruits.withIndex()) {
println("${index + 1}. $fruit")
}
val capitals = mapOf("Россия" to "Москва", "Франция" to "Париж")
for ((country, capital) in capitals) {
println("Столица $country: $capital")
}
while и do-while
var x = 0
while (x < 5) { print("$x "); x++ }
var count = 0
do {
println("Попытка ${count + 1}")
count++
} while (count < 3)
break, continue и метки
for (i in 1..10) {
if (i == 5) break
print("$i ")
} // 1 2 3 4
for (i in 1..10) {
if (i % 2 == 0) continue
print("$i ")
} // 1 3 5 7 9
// Метки для вложенных циклов
outer@ for (i in 1..3) {
for (j in 1..3) {
if (j == 2) continue@outer
print("($i,$j) ")
}
} // (1,1) (2,1) (3,1)
Итоги урока
- if — выражение, возвращает значение
- when — мощный switch: с диапазонами, типами, без аргумента
- for с диапазонами: 1..10, 1 until 10, downTo, step
- for с коллекциями, withIndex(), Map
- while и do-while
- break/continue + метки для вложенных циклов
💪 Дополнительные упражнения
Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!
- Напиши программу, которая считает количество гласных в строке
- Создай функцию, которая проверяет является ли число простым
- Реализуй простую игру "угадай число" с подсказками
- Напиши калькулятор с четырьмя операциями
- Создай программу-органайзер задач (TODO list)
📋 Лучшие практики
Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:
- DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
- KISS (Keep It Simple, Stupid) — пиши простой и понятный код
- Именование — переменные должны отражать смысл:
userAgeлучше чемx - Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
- Маленькие функции — каждая функция должна делать одно дело
📚 Полезные ресурсы для дальнейшего изучения
- Официальная документация — лучший источник правды
- Stack Overflow — ответы на вопросы программистов
- GitHub — смотри на реальные проекты с открытым кодом
- YouTube — видеоуроки для визуальных учеников
- Практические проекты — создавай что-то настоящее!
💪 Дополнительные упражнения
Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!
- Напиши программу, которая считает количество гласных в строке
- Создай функцию, которая проверяет является ли число простым
- Реализуй простую игру "угадай число" с подсказками
- Напиши калькулятор с четырьмя операциями
- Создай программу-органайзер задач (TODO list)
📋 Лучшие практики
Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:
- DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
- KISS (Keep It Simple, Stupid) — пиши простой и понятный код
- Именование — переменные должны отражать смысл:
userAgeлучше чемx - Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
- Маленькие функции — каждая функция должна делать одно дело
📚 Полезные ресурсы для дальнейшего изучения
- Официальная документация — лучший источник правды
- Stack Overflow — ответы на вопросы программистов
- GitHub — смотри на реальные проекты с открытым кодом
- YouTube — видеоуроки для визуальных учеников
- Практические проекты — создавай что-то настоящее!
💪 Дополнительные упражнения
Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!
- Напиши программу, которая считает количество гласных в строке
- Создай функцию, которая проверяет является ли число простым
- Реализуй простую игру "угадай число" с подсказками
- Напиши калькулятор с четырьмя операциями
- Создай программу-органайзер задач (TODO list)
📋 Лучшие практики
Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:
- DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
- KISS (Keep It Simple, Stupid) — пиши простой и понятный код
- Именование — переменные должны отражать смысл:
userAgeлучше чемx - Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
- Маленькие функции — каждая функция должна делать одно дело
📚 Полезные ресурсы для дальнейшего изучения
- Официальная документация — лучший источник правды
- Stack Overflow — ответы на вопросы программистов
- GitHub — смотри на реальные проекты с открытым кодом
- YouTube — видеоуроки для визуальных учеников
- Практические проекты — создавай что-то настоящее!
💪 Дополнительные упражнения
Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!
- Напиши программу, которая считает количество гласных в строке
- Создай функцию, которая проверяет является ли число простым
- Реализуй простую игру "угадай число" с подсказками
- Напиши калькулятор с четырьмя операциями
- Создай программу-органайзер задач (TODO list)
📋 Лучшие практики
Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:
- DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
- KISS (Keep It Simple, Stupid) — пиши простой и понятный код
- Именование — переменные должны отражать смысл:
userAgeлучше чемx - Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
- Маленькие функции — каждая функция должна делать одно дело
📚 Полезные ресурсы для дальнейшего изучения
- Официальная документация — лучший источник правды
- Stack Overflow — ответы на вопросы программистов
- GitHub — смотри на реальные проекты с открытым кодом
- YouTube — видеоуроки для визуальных учеников
- Практические проекты — создавай что-то настоящее!
💪 Дополнительные упражнения
Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!
- Напиши программу, которая считает количество гласных в строке
- Создай функцию, которая проверяет является ли число простым
- Реализуй простую игру "угадай число" с подсказками
- Напиши калькулятор с четырьмя операциями
- Создай программу-органайзер задач (TODO list)
📋 Лучшие практики
Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:
- DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
- KISS (Keep It Simple, Stupid) — пиши простой и понятный код
- Именование — переменные должны отражать смысл:
userAgeлучше чемx - Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
- Маленькие функции — каждая функция должна делать одно дело
📚 Полезные ресурсы для дальнейшего изучения
- Официальная документация — лучший источник правды
- Stack Overflow — ответы на вопросы программистов
- GitHub — смотри на реальные проекты с открытым кодом
- YouTube — видеоуроки для визуальных учеников
- Практические проекты — создавай что-то настоящее!
💪 Дополнительные упражнения
Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!
- Напиши программу, которая считает количество гласных в строке
- Создай функцию, которая проверяет является ли число простым
- Реализуй простую игру "угадай число" с подсказками
- Напиши калькулятор с четырьмя операциями
- Создай программу-органайзер задач (TODO list)
📋 Лучшие практики
Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:
- DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
- KISS (Keep It Simple, Stupid) — пиши простой и понятный код
- Именование — переменные должны отражать смысл:
userAgeлучше чемx - Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
- Маленькие функции — каждая функция должна делать одно дело
📚 Полезные ресурсы для дальнейшего изучения
- Официальная документация — лучший источник правды
- Stack Overflow — ответы на вопросы программистов
- GitHub — смотри на реальные проекты с открытым кодом
- YouTube — видеоуроки для визуальных учеников
- Практические проекты — создавай что-то настоящее!
💪 Дополнительные упражнения
Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!
- Напиши программу, которая считает количество гласных в строке
- Создай функцию, которая проверяет является ли число простым
- Реализуй простую игру "угадай число" с подсказками
- Напиши калькулятор с четырьмя операциями
- Создай программу-органайзер задач (TODO list)
📋 Лучшие практики
Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:
- DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
- KISS (Keep It Simple, Stupid) — пиши простой и понятный код
- Именование — переменные должны отражать смысл:
userAgeлучше чемx - Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
- Маленькие функции — каждая функция должна делать одно дело
📚 Полезные ресурсы для дальнейшего изучения
- Официальная документация — лучший источник правды
- Stack Overflow — ответы на вопросы программистов
- GitHub — смотри на реальные проекты с открытым кодом
- YouTube — видеоуроки для визуальных учеников
- Практические проекты — создавай что-то настоящее!
💪 Дополнительные упражнения
Практика — ключ к успеху в программировании. Чем больше кода ты пишешь, тем лучше ты становишься. Не бойся экспериментировать — ошибки это часть обучения!
- Напиши программу, которая считает количество гласных в строке
- Создай функцию, которая проверяет является ли число простым
- Реализуй простую игру "угадай число" с подсказками
- Напиши калькулятор с четырьмя операциями
- Создай программу-органайзер задач (TODO list)
📋 Лучшие практики
Хороший код — это не просто работающий код. Это код, который легко читать, понимать и изменять. Следуй этим принципам:
- DRY (Don't Repeat Yourself) — не повторяй один и тот же код, выноси его в функции
- KISS (Keep It Simple, Stupid) — пиши простой и понятный код
- Именование — переменные должны отражать смысл:
userAgeлучше чемx - Комментарии — комментируй ПОЧЕМУ, а не ЧТО делает код
- Маленькие функции — каждая функция должна делать одно дело
📚 Полезные ресурсы для дальнейшего изучения
- Официальная документация — лучший источник правды
- Stack Overflow — ответы на вопросы программистов
- GitHub — смотри на реальные проекты с открытым кодом
- YouTube — видеоуроки для визуальных учеников
- Практические проекты — создавай что-то настоящее!