Языки программирования

Учебник Kotlin с нуля для начинающих

22 урока · 6 разделов · бесплатно, без регистрации

Kotlin — современный, лаконичный и безопасный язык на платформе JVM. В этом курсе вы пройдёте путь от первой строки кода до уверенного владения идиомами языка: научитесь работать с типами и выводом типов, побеждать NullPointerException с помощью null-safety, использовать when и if как выражения, писать лямбды и функции высшего порядка, обрабатывать коллекции через map/filter/fold, проектировать классы и data class, применять sealed class и extension-функции, а в конце — заглянете в мир корутин. Курс посвящён именно языку Kotlin и его идиомам, а не Android-разработке.

Курс «Kotlin с нуля» состоит из 6 разделов и 22 уроков: Основы Kotlin: запуск, переменные, типы, Null-safety и управление потоком, Функции и лямбды, Коллекции, Классы и ООП и Расширения, ошибки и корутины. Уроки идут по порядку — от основ к более сложным темам, в каждом есть объяснение с примерами, а в конце — вопросы для самопроверки. К урокам привязаны задачи с автоматической проверкой: прочитали тему — сразу закрепили её кодом.

Программа курса

  1. 1 Основы Kotlin: запуск, переменные, типы

    1. Что такое Kotlin и зачем он нужен

      Kotlin — современный язык на JVM от JetBrains: лаконичность, безопасность по null, совместимость с Java. Где он применяется и почему его выбирают.

    2. JVM, компиляция и запуск программы

      Как Kotlin работает на JVM: исходник → байт-код → виртуальная машина. Чем компилировать и как запускать программу из консоли.

    3. Переменные: val и var

      Различие val и var в Kotlin, неизменяемость, вывод типов и явное указание типа. Почему стоит предпочитать val.

    4. Строки и строковые шаблоны

      Строки в Kotlin: шаблоны $name и ${выражение}, многострочные строки, конкатенация и полезные методы строк.

    5. Числа и арифметика

      Числовые типы Kotlin: Int, Long, Double, целочисленное деление, остаток, преобразования типов через toInt/toDouble.

  2. 2 Null-safety и управление потоком

    1. Null-safety: nullable-типы и оператор ?.

      Как Kotlin защищает от NullPointerException: nullable-типы со знаком ?, безопасный вызов ?. и его роль в безопасном коде.

    2. Операторы ?:, !! и умные приведения

      Элвис-оператор ?: для значения по умолчанию, оператор !! и его опасность, smart cast после проверки на null.

    3. if и when как выражения

      if и when в Kotlin возвращают значение: ветвления как выражения, when с условиями и диапазонами, замена switch.

    4. Циклы и диапазоны (ranges)

      Циклы for и while в Kotlin, диапазоны 1..10, until, downTo, step и итерация по коллекциям и индексам.

  3. 3 Функции и лямбды

    1. Функции: объявление и параметры по умолчанию

      Объявление функций fun в Kotlin, типы параметров и возврата, однострочные функции с =, параметры по умолчанию и именованные аргументы.

    2. Лямбды — функции как значения

      Лямбда-выражения в Kotlin: синтаксис в фигурных скобках, параметр it, передача функций в аргументах и хранение в переменных.

    3. Функции высшего порядка

      Функции высшего порядка в Kotlin: приём функций как параметров, возврат функций, типы функций и ссылки на функции через ::.

  4. 4 Коллекции

    1. List, Set и Map

      Три вида коллекций Kotlin: List (упорядоченный список), Set (множество без дублей), Map (пары ключ-значение), изменяемые и read-only варианты.

    2. map, filter и преобразования

      Функции обработки коллекций в Kotlin: map для преобразования, filter для отбора, цепочки вызовов, sortedBy, take и другие операции.

    3. fold, reduce и агрегация

      Свёртка коллекций в Kotlin: fold с начальным значением, reduce, готовые агрегаты sum/max/min, groupBy для группировки.

  5. 5 Классы и ООП

    1. Классы и конструкторы

      Объявление классов в Kotlin: первичный конструктор, свойства val/var в конструкторе, блок init и методы класса.

    2. data class и object

      data class в Kotlin для хранения данных: автогенерация equals, toString, copy. object для синглтонов и companion object для статики.

    3. Наследование и интерфейсы

      Наследование классов в Kotlin: open, override, абстрактные классы и интерфейсы, реализация нескольких интерфейсов.

    4. sealed class и иерархии

      sealed class в Kotlin: закрытая иерархия известных подтипов, исчерпывающий when без else, моделирование состояний и результатов.

  6. 6 Расширения, ошибки и корутины

    1. Extension functions

      Функции-расширения в Kotlin: добавление методов к существующим типам без наследования, ключевое слово this и область видимости.

    2. Обработка ошибок

      Исключения в Kotlin: try/catch/finally, try как выражение, throw, отсутствие проверяемых исключений и идиомы безопасной обработки.

    3. Введение в корутины

      Обзорное введение в корутины Kotlin: suspend-функции, launch, асинхронность без потоков, неблокирующее ожидание delay.