Уроки по Kotlin с нуля (бесплатный курс с тестами и практикой)

Смотреть уроки
Познакомимся?
Иван Ветров

Разработчик по Android-разработке и Kotlin

Бесплатный курс по основам программирования на языке Котлин

Меня зовут Иван. Я автор уроков на YouTube по основам Kotlin под ником ievetrov и создатель обучающего бота по Kotlin с уроками, бесплатными тестами и практикой.

Здесь вы найдете видео и текстовые версии уроков для изучения. Все видео вместе можно посмотреть на канале YouTube и VK. Обучение рассчитано на начинающих разработчиков, а также, если у вас совсем нет опыта в программировании и вы только знакомитесь с этой сферой. Чтобы в последствии стать профессиональным Kotlin-разработчиком или Android-разработчиком. Начните свой путь в мобильную разработку на языке программирования Kotlin!

Перейти в обучающий бот

Обучающий телеграм-бот по основам Kotlin

Время чтения: 10 минут
Меня зовут Иван, я автор YouTube канала ievetrov с уроками по Kotlin и Android. Я создал бот, который поможет освоить базу (и не только ее) по языку Kotlin, чтобы комфортно перейти к изучению Android и написанию приложений.  ❓ Внутри вы найдете: 🎯 Смотрите пошаговые уроки, проходите тесты, закрепляйте знания теорией и практикой. Результат не заставит себя ждать! […]
Читать полностью

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

Введение Здравствуйте! Меня зовут Иван Ветров, и я беру на себя смелость провести вас в мир программирования на языке Kotlin. Вы здесь, потому что решили сделать первые шаги к освоению Android-разработки — или, возможно, выбрали направление автотестирования или бэкенда. В любом случае, вы попали в нужное место и в нужное время. Поздравляю! Знаете ли вы, […]
Читать полностью

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

Здравствуйте! Начнём знакомство с одним из базовых элементов любой программы — переменными. А также рассмотрим, какие типы данных они могут хранить в Kotlin и как они применяются в реальных приложениях. Что такое переменные и зачем они нужны? Переменные можно представить как контейнеры для данных, которые мы видим на экранах смартфонов и компьютеров. Данные бывают разными: […]
Читать полностью

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

Здравствуйте. Классические операции, такие как сложение, вычитание, умножение, деление – в языке программирования Kotlin работают по тем же законам, что и в математике, и используются точно такие же операторы. Сейчас мы научимся с ними работать, а также я покажу еще несколько полезных конструкций языка, чтобы изящно решать рутинные бизнес задачи. Перед тем, как начнем практиковаться, […]
Читать полностью

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

Здравствуйте. Обсудим возможности строк в Kotlin. Строки в программировании — это набор символов, объединённых в последовательность. Чтобы научиться использовать их эффективно, давайте разберём несколько примеров. Представим, что мы программируем бота, который будет приветствовать новых пользователей по имени и сообщать какую-нибудь информацию. Для этого распечатаем такую строку: Конкатенация строк Наша задача — добавить к исходной строке […]
Читать полностью

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

Здравствуйте. Представим, что нам нужно создать часть логики программы, которая решает, можно ли пользователю открыть доступ к определенному контенту в зависимости от его возраста. Как мы можем сделать проверку на достижение совершеннолетия с помощью Kotlin? Этот урок призван разложить по полочкам значения терминов, связанных с логическим типом данных. Конкретно рассмотрим: логические операторы, операторы сравнения и […]
Читать полностью

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

Операторы ветвления Kotlin» Здравствуйте. Что такое операторы ветвления или условные операторы? Представьте себе, что вы хотите войти в определенное заведение, и сотрудник проверяет ваш возраст. Если вам больше 18 лет, он пропускает вас внутрь, если нет — отправляет домой. Именно так работают условные операторы в программировании. Ключевое здесь «если». В прошлом уроке мы получали булево […]
Читать полностью

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

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

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

Цикл for служит для перебора значений по каким-либо коллекциям, например, по спискам или по диапазонам чисел. В первой части расскажу про диапазоны (или интервалы), а затем перейдем к разбору конструкции for. Диапазоны (интервалы) Диапазоны – это такие объекты, которые содержат числа в заданном промежутке. Создать диапазоны можно с помощью двух точек (..) или ключевого слова […]
Читать полностью

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

Создание массивов разных типов Мы уже виртуозно умеем управляться с базовыми типами, такими как Int, String и так далее. Обычно мы создаем ряд переменных и работаем с ними. Представим, что мы делаем приложение с рецептами. И для яичницы есть 5 ингредиентов. Перечислим их. Мы создаем 5 отдельных переменных строкового типа. Но в условиях программы, когда […]
Читать полностью

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

Коллекции По определению коллекции – это группы с переменным количеством элементов (или нулем элементов). Объекты внутри как правило имеют единый тип. Коллекции называются коллекциями, потому что корнем их иерархии в языке является класс Collection<T>. Позже, при изучении наследования это станет понятнее, пока не будем сильно углубляться. Типы коллекций Списки В этот раз подробнее остановимся на […]
Читать полностью

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

Что такое функции в Kotlin. Функция main() Давайте поговорим о функциях в Kotlin. Что такое, как создавать, куда они возвращают результат и так далее. Перед нами пустой документ, который, как уже известно имеет главную функцию (или метод) main(). Название этой функции зарезервировано в языке, с нее начинается работа программы. Именно напротив ее декларации мы видим […]
Читать полностью

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

Классы в языке на примере типов переменных Начинаем разговор про классы и объекты в языке программирования Kotlin. Давайте попробую объяснить сначала с точки зрения прикладного использования. Начнем с понятия классы. На протяжении всего обучения до этого момента мы оперировали переменными разных типов. Эти типы были как для базовых переменных Int, Boolean и т.д. Так и […]
Читать полностью

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

Что такое конструктор в Kotlin Помните, как мы создавали экземпляр класса на прошлом уроке? Объявили переменную, затем инициализировали ее с помощью написания имени класса и его свойств в круглых скобках. Надо разобрать этот момент подробнее. В момент создания объекта, еще перед тем как созданный объект присвоен переменной, под капотом вызывается специальная функция – конструктор. Понимание его […]
Читать полностью

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

Что такое NPE Exceptions (или исключения) в программировании позволяют описать проблему, если в программе что-то пошло не так. Как правило это описание можно увидеть в логах, при возникновении ошибок. NullPointerException – это ошибка, которая возникает, когда используемый объект не инициализирован. Дословно она переводится как “исключение нулевого указателя”. Еще ее коротко называют NPE. Что такое null Зачастую программы крашатся, […]
Читать полностью

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

Суперкласс Наследование считается одним из принципов ООП. Суть заключается в том, что можно создать один основной класс с базовыми свойствами и методами и отнаследовать от него более специализированные подклассы. Которые будут переиспользовать свойства и методы из основного класса, а также добавлять свои, более узконаправленные. Представим, что мы проектируем гипотетическое приложение для классификации вымышленных космических кораблей. […]
Читать полностью

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

Абстрактные классы На прошлом уроке я вскользь упомянул ключевое слово abstract, с помощью которого мы запретили на время создавать экземпляры базового класса. То есть абстрактный класс предназначен по сути только для описания общих данных будущих экземпляров. От него также можно наследоваться, однако, когда мы помечаем его как асбтрактный, ключевое слово open использовать уже не нужно. […]
Читать полностью

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

Основные модификаторы доступа Модификаторы доступа это определенные ключевые слова в языке, с помощью которых можно устанавливать уровень видимости для класса, переменной или метода. Под уровнем видимости я имею в виду буквально будет ли видна переменная или функция, из другого класса или пакета. Расширение или ограничение видимости данных нужно для правильного проектирования архитектуры программы, соблюдая основные […]
Читать полностью

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

Общие понятия Из прошлого урока про модификаторы доступа плавно переходим к пониманию сеттеров и геттеров. Когда мы обращаемся к свойству какого-то класса, можно подумать, что мы делаем это напрямую. Однако, это не так. Kotlin под капотом генерирует так называемые сеттеры и геттеры. Это методы с помощью которых мы можем получать и изменять свойства. По аналогии […]
Читать полностью

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

Суть полиморфизма Тема полиморфизма может казаться слегка запутанной. А еще это не редкий вопрос на собеседованиях. Поэтому добавлю немного структурности, чтобы все стало разложено по полкам. Сначала расскажу про основную суть полиморфизма, затем пройдемся по некоторым типам и их описаниям, в заключении перейдем к примерам. Название “Полиморф” говорит о том, что это что-то многообразное, а […]
Читать полностью

Этими инструментами пользуются 99% разработчиков. Вы научитесь их использовать.

Изучайте программирование в условиях, максимально приближенных к реальной практике.

Узнайте что такое результативное обучение всего за:
1 590₽ 3 000₽

Гарантия возврата денежных средств в случае отсутствия результата

  • 10 дней менторства с действующим программистом и педагогом
  • 25 задач по основам Kotlin
  • Реальные инструменты разработчика
  • Гайд по созданию парсеров для сайтов в подарок
Подробнее про Onboarding