kotlin

Урок 0: Введение в Kotlin, установка среды разработки IntelliJ IDEA

Оглавление Настройка IntelliJ IDEA, установка JDK, первая программа Среда программирования Настройка IntelliJ IDEA. Понятия SDK и JDK Основы написания кода в Kotlin Методы и функции в Котлин Настройка IntelliJ IDEA, установка JDK, первая программа Среда программирования Для установки и настройки…

Читать полностью

Урок 1: Переменные. Базовые типы данных. var, val и const val в Kotlin

Оглавление Что такое переменные? Создание val и const val переменной Вывод значений переменных на экран. println() — метод вывода в консоль Создание var переменной Базовые типы данных в Котлин 1. Числовые 2. Вещественные типы (или типы с плавающей точкой) 3.…

Читать полностью

Урок 2: Арифметические операции в языке Kotlin

Оглавление Создание файла в Котлин Инициализация числом и выражением Деление целых и дробных чисел Остаток от деления Как в Kotlin формируется конечный тип переменной Присваивание через +=, инкремент, декремент в Котлин Операторы сравнения Создание файла в Котлин Классические операции, такие…

Читать полностью

Урок 3: Строки в Kotlin. Интерполяция. Конкатенация

Оглавление Конкатенация строк Строковые шаблоны (интерполяция строк) Многострочное интерполирование в Kotlin Функция trimIndent() Функция trimMargin() Конкатенация строк Обсудим возможности строк в Котлине. Представим, что мы программируем бота, который будет приветствовать новых пользователей по имени и сообщать какую-нибудь информацию. Для этого…

Читать полностью

Урок 4: Boolean – логический тип данных в Kotlin. Операторы сравнения

Оглавление Все операторы сравнения языка Котлин Операторы ссылочного типа Возвращающий результат Создание переменной логического типа Boolean Инициализация переменной Результат сравнения какого-либо выражения Логические операторы в Kotlin Логический оператор «и» (&&) Логический оператор «или» (||) Логический оператор отрицания (!) Все операторы…

Читать полностью

Урок 5: if else when в Kotlin Операторы ветвления или условные операторы

Оглавление Оператор if else Конструкция if Функция toInt() Оператор else Конструкции else if Формы написания Возвращающее значение if else Оператор when в Котлин Возвращающее значение when Формы написания многострочных конструкций Оператор if else Напомню гипотетический сценарий программы: при определенном пороге…

Читать полностью

Урок 6: Циклы в Kotlin. while, do-while

Оглавление Что такое циклы? Цикл while в Котлин Создание переменной counter Операция декремента Цикл do-while Что такое циклы? Циклы позволяют многократно исполнять один и тот же код при определенных условиях. Во-первых, мы избегаем дублирования кода, что в принципе считается хорошим…

Читать полностью

Урок 7: Цикл for в Kotlin, диапазоны (интервалы)

Оглавление Диапазоны (интервалы) Функция step в Kotlin Функция downTo Принадлежность к интервалу in, !in Цикл for Отличие while от for i – переменная downTo Шаг прохода Операторы перехода в Котлин Оператор break Экранирование символов Оператор continue Оператор return Цикл for…

Читать полностью

Урок 8: Массивы в Kotlin. Функции для массивов

Оглавление Создание массивов разных типов Принципы создания массивов Функция arrayOf() Нюансы инициализации Объявления массивов через val и var Размер массива Функция indexOf() в Kotlin Функции set() и get() Создание массивов разных типов Мы уже виртуозно умеем управляться с базовыми типами,…

Читать полностью

Урок 9: Списки в Kotlin, функции для работы с коллекциями

Оглавление Коллекции Типы коллекций Списки Отличия от массивов Создание списков в Котлин Изменяемые списки в Kotlin Функции для работы со списками Функция add() Функция contains() Методы isEmpty() и isNotEmpty() Функции sort() и reverse() Функция filter() Функция map() Коллекции По определению…

Читать полностью

Урок 10: Функции в Kotlin. Как создать, получить и вернуть параметры

Оглавление Что такое функции в Kotlin. Функция main() Создание функции без параметров Создание функции с возвращаемым параметром Создание функции с принимающими параметрами Что такое функции в Kotlin. Функция main() Давайте поговорим о функциях в Kotlin. Что такое, как создавать, куда…

Читать полностью

Урок 11: ООП. Классы и объекты в Kotlin. Сущности и объекты

Оглавление Классы в языке на примере типов переменных Теория ООП (объектно-ориентированный стиль) Пример сущности в приложении с рецептами Создание классов в Kotlin Свойства (характеристики) сущности Trailing comma – висящая запятая Инициализация свойства значением по умолчанию Создание экземпляра класса (объекта) Обращение…

Читать полностью

Урок 12: Конструкторы в Kotlin (primary, secondary). Блоки инициализации init

Оглавление Что такое конструктор в Kotlin Блок 1: пустой конструктор Блок 2: основной конструктор (primary constructor) Блок 3: упрощенная форма основного конструктора Блок 4: вторичный конструктор (secondary constructor) Инициализатор Что такое конструктор в Kotlin Помните, как мы создавали экземпляр класса…

Читать полностью

Урок 13: Null Safety в Kotlin – операторы ?. !!, NullPointerException (NPE)

Оглавление Что такое NPE Что такое null Из-за чего может падать программа nullable-типы Оператор безопасного вызова – ?. Оператор “элвис” – ?: Оператор утверждения “это не null” – !! Что такое NPE Exceptions (или исключения) в программировании позволяют описать проблему, если в…

Читать полностью

Урок 14: ООП. Наследование в Kotlin. open/super class, override

Оглавление Суперкласс Классы наследники Создание базового класса — родителя Создание классов — наследников Наследование методов суперкласса Абстрактный класс Переопределение методов Обращение к методам класса-родителя Суперкласс Наследование считается одним из принципов ООП. Суть заключается в том, что можно создать один основной…

Читать полностью

Урок 15: Абстрактные классы и интерфейсы в Kotlin. Имплементация

Оглавление Абстрактные классы Свойства и методы абстрактных классов В каких случаях используют интерфейсы Функционал интерфейсов Объявление методов в интерфейсах Реализация абстрактных методов в интерфейсах Абстрактные классы На прошлом уроке я вскользь упомянул ключевое слово abstract, с помощью которого мы запретили…

Читать полностью

Урок 16: Модификаторы доступа (видимости) в Kotlin. public, private, protected, internal

Оглавление Основные модификаторы доступа public private protected internal Применение Область видимости Инкапсуляция Основные модификаторы доступа Модификаторы доступа это определенные ключевые слова в языке, с помощью которых можно устанавливать уровень видимости для класса, переменной или метода. Под уровнем видимости я имею…

Читать полностью

Урок 17: Сеттеры и геттеры в Kotlin (setter, getter)

Оглавление Общие понятия Геттер (getter) Реализация по умолчанию Произвольное значение Сеттер (setter) Реализация для нового значения Кастомизация геттера/сеттера Общие понятия Из прошлого урока про модификаторы доступа плавно переходим к пониманию сеттеров и геттеров. Когда мы обращаемся к свойству какого-то класса,…

Читать полностью

Урок 18: ООП. Полиморфизм в Kotlin, 3 типа (Ad hoc, Subtyping, Parametric)

Оглавление Суть полиморфизма 3 типа полиморфизма в Kotlin Полиморфизм по случаю Реализация функций с разными параметрами Полиморфизм включения Реализация с помощью наследования Роль наследования в полиморфизме Суть полиморфизма Тема полиморфизма может казаться слегка запутанной. А еще это не редкий вопрос…

Читать полностью

Урок 19: ENUM в Kotlin (классы перечислений), TODO() и тип Nothing

Оглавление Что такое enum? Понятие — статус Создание класса перечислений Создание функции для поиска статусов Что можно хранить в enum? Функция TODO() Что такое enum? Разбираем классы перечислений enum и выясняем чем они полезнее обычных строковых констант. Также затронем функцию…

Читать полностью