Нужна помощь донатом
для написания учебников Kotlin, Java, C++, C#, Go, Rust, Dart
подробности по ссылке

Основной учебник Kotlin 2

Начало

Введение Kotlin и Java Java-машина Запуск в онлайн-редакторе Запуск на компьютере Разбор первой программы Несколько команд Однострочные комментарии Многострочные комментарии Ошибки в коде Литералы Операнды

Переменные

Введение Объявление переменной Имена переменных Изменение значения Несколько переменных Копирование значения Неизменяемая переменная Переменная по умолчанию Повторное объявление Зарезервированные слова

Числа

Введение Байты и диапазон Целые типы Дробные типы Запись целых Запись дробных Тип можно не указывать Математические операции Целочисленное деление Операции с переменными Дроби Операции с Float Отрицательные числа Остаток от деления Деление на ноль Бесконечность Нечисло Приоритет операций Равный приоритет Группирующие скобки Сокращенные операции Инкремент и декремент Префикс и постфикс Отделение разрядов Экспоненциальная запись Неточные вычисления Укажите тип Практика

Конвертация типов

Разные типы Преобразование в Double Преобразование в Float Преобразование в Long Преобразование в ULong Преобразование в Int Преобразование в UInt Преобразование в Short Преобразование в UShort Преобразование в Byte Преобразование в UByte Узкие целые Переполнение Практика

Строки

Введение Юникод Тип String Сложение строк Вставка через сложение Интерполяция Число в строку Строка в Int Строка в Long Строка в Double Строка в Float Строка в UInt Строка в узкое целое Длина строки Перевод строки Экранирование спецсимволов Практика

Символы

Введение Тип Char Символ и строка Несколько символов в строку Символ из строки Цифра в число Число в символ цифры Код символа Соседний символ Сумма цифр числа Практика

Логические значения

Введение Логические значения Логическое И Логическое ИЛИ Отрицание Приоритет логических операторов Группировка логических связок Практика

Условия

Введение Конструкция if-else Операторы больше и меньше Проверка на равенство Проверка на неравенство Сравнение переменных Равенство строк Проверка символов строки Равенство строк и чисел Логическое И Логическое ИЛИ Условие с логическим значением Необязательность конструкции else Необязательность фигурных скобок Проблема необязательности скобок Конструкция else if Вложенные конструкции if-else Область видимости Выражение if Конструкция when Выражение when Несколько значений в when Диапазон Диапазоны в when Конструкция без аргумента Типы в when Проверка остатка от деления Сравнение NaN Практика

Циклы

Введение Цикл repeat Номер повтора Цикл for Генерация чисел Диапазон без последнего значения Диапазон с открытым концом Генерация чисел с шагом Диапазон без последнего значения с шагом Генерация чисел в обратном порядке Обратный диапазон с шагом Генерация символов Генерация символов с шагом Генерация символов в обратном порядке Накопление результата в цикле Цикл for и условие if Инструкция break Инструкция continue Цикл while Цикл while без счетчика Условие if в цикле while Цикл do while Работа с флагами Практика

Массивы

Введение Создание массива Массив чисел Массив дробей Массив строк Массив символов Отдельный элемент массива Длина массива Последний элемент массива Изменение элементов массива Инкремент и декремент Условия и первый элемент Условия и последний элемент Условия и длина массива Наличие элемента Цикл по массиву Цикл по индексам массива Сумма элементов массива Накопление результата в массиве Условие в цикле по массиву Подсчет элементов массива Изменение массива в цикле Создание массива в цикле Типизация цикла Добавление элемента Объединение массивов Примитивные массивы Практика на типы массивов Практика

Списки

Введение Неизменяемый список Изменяемый список Список чисел Список строк Пустой список Отдельный элемент списка Последний элемент списка Изменение элемента списка Длина списка Проверка пустоты списка Наличие элемента в списке Индекс элемента списка Добавление элемента в конец Добавление элемента по индексу Добавление нескольких элементов Добавление массива в список Удаление элемента по значению Удаление элемента по индексу Удаление последнего элемента Очистка списка Объединение списков Массив в список Список в массив Обратный порядок элементов Сортировка списка Цикл по списку Цикл по индексам списка Накопление результата по списку Условие в цикле по списку Подсчет элементов списка Заполнение списка в цикле Типизация цикла Новый список из старого Фильтрация списка Практика

Карты

Введение Неизменяемая карта Изменяемая карта Пары ключ-значение Пустая карта Значение по ключу Отсутствующий ключ Изменение значения Добавление пары Удаление по ключу Длина карты Проверка пустоты карты Наличие ключа Наличие значения Все ключи Все значения Цикл по карте Цикл по ключам Цикл по значениям Накопление по карте Условие в цикле по карте Изменение значений в цикле Типизация цикла Очистка карты Практика

Множества

Введение Неизменяемое множество Изменяемое множество Повторяющиеся элементы Множество чисел Множество строк Пустое множество Наличие элемента Добавление элемента Добавление дубля Добавление нескольких элементов Удаление элемента Длина множества Проверка пустоты множества Очистка множества Список в множество Массив в множество Множество в список Цикл по множеству Типизация цикла Объединение множеств Пересечение множеств Разность множеств Сравнение множеств Практика

Многомерность

Введение Двухмерный массив Строки двухмерного массива Элемент двухмерного массива Неровный двухмерный массив Двухмерный список Элемент двухмерного списка Изменение элемента Цикл по двухмерному массиву Цикл по двухмерному списку Сумма элементов Произведение элементов Склейка элементов в строку Подсчет элементов Условие во вложенном цикле Суммы строк Суммы столбцов Главная диагональ Заполнение двухмерного списка Заполнение двухмерного массива Трехмерный массив Элемент трехмерного массива Цикл по трехмерному массиву Трехмерный список Список массивов Массив списков Карта со списками Карта с массивами Список карт Пирамидка в цикле Практика

Функции

Введение Создание функции Вызов функции Несколько вызовов Параметры функции Несколько параметров Возврат значения Последовательный вызов Тип результата Функции без результата Досрочный return Возврат по условию Возврат Boolean Возврат строки Список параметром Массив параметром Карта параметром Значения по умолчанию Именованные аргументы Порядок аргументов Переменное число аргументов Перегрузка функций Короткая запись функции Рекурсия Практика

Области видимости

Введение Локальные переменные Переменные функции Внешние переменные Одинаковые имена Область блока Область цикла Глобальные переменные Локальные функции Практика

Лямбды

Введение Создание лямбды Вызов лямбды Параметр лямбды Несколько параметров Результат лямбды Тип лямбды Лямбда в переменной Параметр it Без параметров Лямбда параметром Последний аргумент Блок в repeat Метод forEach Метод filter Метод map Методы any и all Метод sortedBy Практика

Математические функции

Математические константы Модуль числа Знак числа Минимум и максимум Округление Округление до Int и Long Степень Корень Ограничение числа Проверка дробных чисел Случайные числа Случайное число из диапазона Практика

Текстовые функции

Длина строки Символы строки Регистр строки Первая буква Проверка строки Поиск в строке Индексы совпадений Подсчет символов Замена в строке Удаление частей Обрезка пробелов Разбиение строки Подстроки Дополнение строки Повторение строки Строка в число Строка в Boolean Регистр символа Проверка символа Заглавность символа Код символа Цифра-символ Практика

Функции коллекций

Размер коллекции Проверка на пустоту Наличие элементов Получение элементов Получение по индексу Индексы элементов Сумма и среднее Минимум и максимум Отбор элементов Проверка элементов Преобразование элементов Разворачивание вложенности Сортировка Обратный порядок Перемешивание Случайный элемент Взять часть Отбросить часть Срез коллекции Разбиение на группы Уникальные элементы Коллекция в строку Накопление результата Группировка Разделение на две части Склейка коллекций Создание карты Добавление без изменения Удаление без изменения Операции множеств Ключи карты Значения карты Пары карты Отбор в карте Преобразование карты Практика

Null-безопасность

Введение Значение null Nullable-типы Проверка на null Оператор ?. Оператор ?: Оператор !! Безопасный let Nullable в списках Nullable в картах Практика

Исключения

Введение try и catch Типы исключений Несколько catch Блок finally Выбрасывание исключения try как выражение Функция с исключением Практика

Дата и время

Введение Дата Время Дата и время Текущая дата Текущее время Текущие дата и время Получение дня недели Получение месяца Получение года Части даты Создание даты из частей Форматирование даты Форматирование времени Форматирование даты и времени Разбор строки в дату Разбор строки во время Разбор строки в дату и время Разность двух дат Разность времени Период между датами Длительность Прибавление дней Прибавление месяцев Прибавление времени Вычитание из даты Сравнение дат Високосный год Формат epoch Дата из epoch Разность эпох Часовой пояс Момент времени Задержка операции Практика

Файлы

Введение Объект File Путь к файлу Абсолютный путь Имя файла Расширение файла Проверка существования Проверка на файл Проверка на папку Создание файла Чтение текста Чтение строк Чтение байтов Запись текста Запись строк Запись байтов Добавление текста Добавление байтов Удаление файла Копирование файла Переименование файла Родительская папка Создание папки Создание вложенных папок Список файлов Обход папки Рекурсивное копирование Рекурсивное удаление Относительный путь Склейка путей Нормализация пути Права на файл Время изменения Размер файла Практика

Финальная практика

Практика на текст Практика на коллекции Практика на функции Практика на null Практика на файлы Практика на дату и время Смешанная практика
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить