🎯 Kotlin

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 — видеоуроки для визуальных учеников
  • Практические проекты — создавай что-то настоящее!