fbpx

Каталог статей

Каталог статей для размещения статей информационного характера

Как выучить

Самоучитель Kotlin для начинающих (примеры)

Самоучитель Kotlin для начинающих (примеры)

Kotlin – это статически типизированный язык программирования с открытым исходным кодом, который работает на виртуальной машине Java (JVM). Он объединяет объектно-ориентированное программирование (ООП) и функциональное программирование в неограниченные, самодостаточные и самобытные платформы. Он также позволяет объединять функциональные возможности с помощью миниатюрных кодов. Kotlin – это язык программирования общего назначения, разработанный компанией JetBrains.

В этом учебнике по Kotlin для начинающих вы узнаете основы языка программирования Kotlin:

История Kotlin

Здесь приведены важные вехи из истории Kotlin:

Год Событие
2016 Запущен Kotlin v1.0
2017 Объявление Google о первоклассной поддержке kotlin в android
2018 Kotlin v1.2 поставляется с дополнением о распределении кода между JVM и JavaScript
2019 Google объявил Kotlin предпочтительным языком программирования для разработчиков приложений для Android
2021 20 сентября 2021 года был запущен Kotlin v1.5.31.

Причины использования Kotlin

Вот несколько важных причин, по которым Kotlin широко используется:

  • Kotlin – это статически типизированный язык, который очень легко читать и писать.
  • В программах на Kotlin не требуются точки с запятой. Это делает код простым и более читаемым.
  • Этот язык позволяет обмениваться и использовать информацию из Java различными способами. Более того, код на Java и Kotlin могут сосуществовать в одном проекте.
  • Система типов Kotlin направлена на устранение NullPointerException из кода.
  • Написание нового кода на Kotlin займет у вас меньше времени. Еще проще развернуть код на Kotlin и поддерживать его в масштабе.

Особенности Kotlin

Вот несколько особенностей Kotlin, которые позволят вам убедиться в прогрессе этого языка программирования.

Упрощенное кодирование:

Kotlin – это язык программирования, основанный на ООП, в котором строки кода могут быть сокращены до 40%, что делает Kotlin идеальным выбором для разработки программного обеспечения или веб-разработки.

Открытый исходный код:

Kotlin для Android использует JVM и сочетает в себе особенности ООП и функционально-ориентированного программирования.

Быстрая компиляция:

при работе с Kotlin легко компилировать код, что приводит к повышению производительности при разработке под android, а также объясняет, какой тип функции данных может быть использован во всем коде.

Функции расширения:

Kotlin может поддерживать множество функций расширения без внесения каких-либо изменений в код. это помогает сделать существующий код более привлекательным и удобным для разработчиков.

Например:

Этот код поможет обрезать первый и последний символ строки, мы можем применить его как:

Null Safety:

В Kotlin система различает нулевые ссылки и не нулевые ссылки, как показано в следующем примере Kotlin.

Например, переменная String не может содержать null:

Интероперабельность:

Код Kotlin может быть использован Java, а код Java может быть использован с Kotlin. Таким образом, если у вас есть знания об OOPS-программировании, то вы легко перейдете на разработку Kotlin. Также, если есть какие-то приложения, написанные на Java, то их можно использовать в среде Kotlin.

Надежные инструменты:

Подобно Java, код Kotlin также может быть написан с помощью IDE или интерфейса командной строки. Работать с IDE легко, а количество синтаксических ошибок значительно сокращается. В то же время, когда вы работаете с интерфейсом командной строки, код сначала должен быть скомпилирован.

Smart Cast:

Умное приведение в основном помогает сократить расходы на приложение и повысить его скорость или производительность. Она работает на управление эффективностью кода с помощью приведения типов или неизменяемых значений.

Например, если строка идентифицирована, то ее длина и количество могут быть найдены с помощью функции Smart Cast:

Низкая стоимость внедрения:

Kotlin предпочитают предприятия из-за его низкой стоимости внедрения. Самое главное, его легко освоить разработчикам, особенно имеющим опыт программирования.

Настройка среды Kotlin

Ниже перечислены шаги, которые помогут вам настроить рабочую среду, установив Kotlin.

Шаг 1) Установите Java

Как мы уже говорили ранее, Kotlin основан на Java, поэтому, планируя внедрить Kotlin, вы должны сначала установить Java. Обратитесь к нашему руководству по установке Java.

Шаг 2) Установите Java IDE

К счастью, существует множество Java IDE на выбор. Здесь мы привели ссылки на скачивание, чтобы облегчить вам задачу.

  • Чтобы скачать Eclipse, нажмите здесь.
  • Чтобы скачать NetBeans, нажмите здесь.
  • Чтобы скачать IntelliJ, нажмите здесь.

В этом учебнике по Kotlin мы будем использовать Eclipse.

Шаг 3) Установите Kotlin

Для установки Kotlin в Eclipse перейдите в раздел “Помощь” в Eclipse и выберите опцию Eclipse Marketplace.

Теперь введите ключевое слово Kotlin в поле поиска. Нажмите на опцию Go, чтобы получить список плагинов. В результате вы получите ссылку на плагин Kotlin, вам нужно установить плагин по указанной ссылке.

После завершения установки перезапустите Eclipse IDE. Вы можете найти значок ярлыка в правом верхнем углу Eclipse IDE. Это метод быстрого доступа.

Другой способ доступа к Kotlin в Eclipse IDE – зайдите в Windows, Perspectives, Open Perspectives, затем выберите опцию Others. Здесь вы можете проверить список плагинов, установленных позже, как показано ниже.

После того как вы проверили установку Kotlin, давайте создадим первую программу на Kotlin в следующем шаге.

Шаг 4) Первая программа на Kotlin

Начните с вашего первого проекта Kotlin. В меню File выберите опцию New, затем в списке выберите others и начните с нового проекта Kotlin.

Теперь вам нужно определить имя проекта, и вы готовы к работе с Kotlin.

С помощью этих простых шагов можно легко загрузить Eclipse и Kotlin в свою систему и сразу же написать свою первую программу на Kotlin.

Архитектура Kotlin

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

Корутины и классы в Kotlin структурируют ядро таким образом, чтобы создавать меньше кодового кода, увеличивать производительность и повышать эффективность. Существует множество сценариев, в которых компилятор kotlin может реагировать по-разному, особенно когда он ориентируется на различные виды языков.

На диаграмме архитектуры видно, что выполнение кода происходит в три простых шага.

  1. На первом этапе в компилятор добавляется файл “.kt” или kotlin.
  2. На втором этапе компилятор Kotlin преобразует код в байткод.
  3. На третьем этапе байткод помещается в виртуальную машину Java и выполняется JVM.

Когда пара байт-кодов работает на JVM, они устанавливают взаимную связь между собой, поэтому в Kotlin есть функция, называемая интероперабельностью для java ook birth.

Переход Kotlin в JavaScript происходит, когда Kotlin нацелен на JavaScript.

Когда выбрана цель JavaScript, любой код Kotlin, являющийся частью библиотеки, которая плавает вместе с Kotlin, переливается в JavaScript. Однако Java Development Kit(JDK) или любая используемая библиотека java исключается.

Файл, не относящийся к Kotlin, не принимается во внимание во время такой операции. При ориентации на JavaScript файл .kt преобразуется в ES5.1 компилятором Kotlin, чтобы сгенерировать последовательный код для JavaScript. Компилятор Kotlin стремится к оптимальному размеру выходных данных, совместимости с существующими модулями, одинаковой функциональности со стандартной библиотекой, а также к выходу, читаемому на JavaScript.

Из обсуждения ясно, что компиляторы Kotlin могут создавать более эффективный, компетентный и независимый код, который в дальнейшем приводит к созданию высокопроизводительного программного продукта.

Переменные Kotlin

Переменные используются для хранения данных, которыми можно манипулировать и на которые можно ссылаться в программе. По своей сути это единица хранения данных, и обозначение ее ждет поясняющего псевдонима, чтобы программа была проста для чтения и понятна. Другими словами, можно сказать, что переменные – это контейнеры для сбора информации.

В Kotlin все переменные должны быть объявлены. Однако если какая-либо переменная не объявлена, то это выливается в синтаксическую ошибку. Кроме того, объявление переменной определяет тип данных, которые мы разрешаем хранить в переменной. В Kotlin переменные могут быть определены с помощью ключевых слов val и var. Вот синтаксис объявления переменных в Kotlin:

Здесь мы объявили локальную переменную day, значение которой “Monday” и тип String, и еще одну локальную переменную number, значение которой 3 и тип Int, потому что здесь литерал имеет тип integer, то есть 3.

Локальные переменные обычно объявляются и инициализируются одновременно. Мы также можем выполнять определенные операции во время инициализации переменной Kotlin.

Мы можем выполнить операцию над переменной того же типа данных, как в данном случае num1 и num2 имеют одинаковый тип данных Int, в то время как day имеет строковый тип данных. Следовательно, будет выдана ошибка. Вот еще одна техника, как можно определить переменные в Kotlin.

Давайте посмотрим, чем ключевые слова var и val отличаются друг от друга.

Var – это общая переменная, используемая в любом языке программирования, которая может быть использована несколько раз в одной программе. Более того, вы можете изменить ее значение в любое время в программе. Поэтому она известна как изменяемая переменная.

Вот пример изменяемой переменной в Kotlin:

Здесь значение num1, равное 20, перезаписывается предыдущим значением num1, равным 10. Поэтому результат num1 + num2 равен 40 вместо 30.

Val – это как постоянная переменная, значение которой нельзя изменить позже в программе, которая также не может быть назначена несколько раз в одной программе и может быть использована только один раз в конкретной программе. Следовательно, она известна как неизменяемая переменная.

Вот пример неизменяемых переменных в Kotlin:

Здесь значение num1, равное 10, не может быть перезаписано новым значением num1, равным 20, поскольку оно имеет тип val, который является постоянным. Поэтому на выходе получается 30 вместо 40.

Примечание : В Kotlin неизменяемые переменные предпочтительнее, чем изменяемые.

Типы данных в Kotlin

Типы данных представляют собой набор соотносимых значений и описывают операции, которые можно выполнять над ними. Как и в других языках программирования, в Kotlin также есть предопределенный набор типов данных, таких как Int, Boolean, Char, Double и т.д.

В Kotlin каждый тип данных рассматривается как объект.

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

Числа

Kotlin предоставляет набор встроенных типов данных, известных как числа, которые подразделяются на целые числа и числа с плавающей точкой.

Целые числа

Целые числа – это категория чисел, которая имеет четыре типа:

Тип Размер (биты) Минимальное значение Максимальное значение
Байт 8 -128 127
Короткий 16 -32768 32767
Int 32 -2,147,483,648 (-231) 2,147,483,647 (231 – 1)
Длинные 64 -9,223,372,036,854,775,808 (-263) 9,223,372,036,854,775,807 (263 – 1)

Числа с плавающей точкой

Числа с плавающей точкой – это нецелые числа, которые имеют несколько десятичных значений.

Плавающая запятая: Float – это 32-битное значение с плавающей точкой одинарной точности.

Пример: var: Float x = 3.25600

Double: Double – это 64-битное значение двойной точности с плавающей точкой.

Пример: var: Double y = 2456.345587

Булевы

Тип данных Booleans в Kotlin используется для представления логических значений. В Boolean есть только два возможных значения – true или false.

Например: val day = true

val day2 = false

Символ

Символы в Kotlin представляются с помощью ключевого слова char. В Kotlin объявление char обозначается одинарными кавычками. В java char иногда используется как число, что невозможно в Kotlin.

Например:

Kotlin Преобразование типов или Kotlin Приведение типов

Преобразование типов – это процедура преобразования переменной одного типа данных в переменную другого типа данных. Она также известна как Type Casting.

В Java поддерживается неявное преобразование типов или неявное приведение меньшего типа данных к большему типу данных.

Однако в kotlin неявное преобразование меньшего типа данных в больший тип данных не поддерживается вообще, то есть тип данных int нельзя неявно преобразовать в тип данных long.

Однако в Kotlin преобразование типов выполняется явно. Здесь на помощь приходят вспомогательные функции, которые направляют преобразование переменных одного типа данных в другой.

Существуют определенные вспомогательные функции, которые предназначены для преобразования одного типа данных в другой:

Операторы Kotlin

Операторы – это важные и специальные символы или знаки, которые обеспечивают выполнение операций над операндами, имеющими переменные и значения. В Kotlin существует набор операторов, которые используются в различных операциях, таких как арифметические операции, операции присваивания, сравнения и т.д.

Арифметические операторы :

Арифметические операторы используются для сложения, вычитания, умножения, деления и модуляции.

Оператор Значение
+ Сложение (также используется для конкатенации строк)
Оператор вычитания
* Оператор умножения
/ Оператор деления
% Оператор модуляции

Например:

Здесь вывод следующего кода равен 45.

Операторы сравнения :

Comparison operator is used to compare two values, two variables or two numbers. It is used with the greater than symbol( > ), меньше чем символ( < ) and equal to symbol( ==), not equal to symbol( != ), greater than equal to symbol( >= ), меньше чем равно символу(

Например:

Операторы присваивания :

Операторы присваивания используются для присвоения значений с арифметическими операциями. Они используются с такими символами, как +=, -=, *=, /=, %=.

Например:

Операторы инкремента и декремента :

Операторы инкремента и декремента используются для увеличения и уменьшения значений переменной или числа. Они используются с помощью таких символов, как ++ и -.

Существует два типа инкремента и декремента: пре-инкремент ++a, пост-инкремент a++, пре-декремен т-b, пост-декремент b-.

Например:

Массивы Kotlin

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

В Kotlin массивы – это изменяемое взаимодействие одинаковых типов данных, а не собственные типы данных.

Вот некоторые свойства массива в Kotlin

  • Размер массива не может быть изменен после его объявления.
  • Массивы в Kotlin являются изменяемыми.
  • Массивы хранятся в смежных областях памяти.
  • Доступ к массиву осуществляется с помощью индексов, таких как a[1], a[2] и так далее.
  • Индекс массива начинается с нуля, то есть a[0].

В Kotlin массив может быть определен двумя различными способами

С помощью функции arrayOf() :

В Kotlin широко используются библиотечные функции. Одной из таких библиотечных функций является функция arrayOf(), которая используется для определения массива путем передачи значений переменных в функцию.

Например: Неявное объявление типа массива с помощью функции arrayOf()

Пример: Явное объявление типа массива с помощью функции arrayOf().

С помощью конструктора массива :

В Kotlin существует класс с именем Array. Поэтому вполне возможно использовать конструктор массива для создания массива. Массив в конструкторе содержит два основных параметра.

Что такое индекс массива в Kotlin?

Функция, в которой допустимо использовать индекс массива, возвращает начальное значение индекса.

Например:

Здесь значение массива равно 7, а лямбда-выражение используется для инициализации значений элемента.

Существуют также различные методы доступа к массивам и их модификации с помощью определенных функций. Поэтому существуют две функции-члена get() и set(), которые используются для доступа к объектам массива класса.

Например:

Здесь выходное значение равно 10, так как значение в индексе 0 массива равно 10.

Примечание : get() принимает только единичные значения

Например:

Здесь выводится 30 и 40, так как значение в индексе 2 массива равно 30, а в индексе 3 – 40.

Примечание: set() принимает несколько значений массива.

Строки Kotlin

Строка – это основной тип данных в любом языке программирования. Строка – это не что иное, как последовательность символов. Класс String представляет символьные строки. В Kotlin все строки являются объектами класса String, что означает, что строковые литералы реализуются как экземпляры этого класса.

Синтаксис:

Коллекция Kotlin

Коллекция содержит несколько объектов одного типа, и эти объекты в коллекции называются элементами или элементами. Коллекция может помочь хранить, извлекать, манипулировать и агрегировать данные.

Типы коллекций:

Коллекции этого типа поддерживают функции только для чтения. Ее элементы нельзя изменять.

  • Список – listOf() и listOf()
  • Set – setOf()
  • Map – mapOf()

Поддерживает функции чтения и записи.

  • Список – mutableListOf(), arrayListOf() и ArrayList
  • Set – mutableSetOf(), hashSetOf()
  • Map – mutableMapOf(), hashMapOf() и HashMap

Функции Kotlin

Функции в любом языке программирования – это группа однотипных операторов, предназначенных для выполнения определенной задачи. Функции позволяют разбить программу на различные небольшие блоки кода. Такое разделение кода повышает читабельность кода, возможность повторного использования кода и облегчает управление программой.

Поскольку Kotlin известен как статически типизированный язык. Здесь ключевое слово ‘fun’ используется для объявления функции. В Kotlin есть два типа функций, которые зависят только от их наличия в стандартной библиотеке или определения пользователем. Это:

  • Стандартная библиотечная функция
  • Функция, определяемая пользователем

Теперь давайте обсудим их подробно на примерах кода Kotlin.

Стандартная библиотечная функция

Это встроенные библиотечные функции, которые могут быть определены неявно и доступны для использования.

Для примера 2:

Вывод:

sqrt() – это функция, определенная в библиотеке, которая возвращает квадратный корень из числа.

Функция print() печатает сообщение в стандартный поток вывода.

Функция, определяемая пользователем

Как следует из названия, эти функции обычно создаются пользователями, и их можно использовать для расширенного программирования.

Здесь функции объявляются с помощью ключевого слова ‘fun’.

Для примера 3:

Здесь мы вызываем функцию для выполнения кодов внутри тела functionName().

Примеры функций Kotlin:

Синтаксис try с блоком finally

Finally:

В Котлине блок finally всегда проверяет, обработано ли исключение или нет, что делает его очень важным утверждением обработки исключений.

Для примера 4:

В этом фрагменте кода происходит исключение, и оно обрабатывается.

Вывод:

Throw:

Блок Throw выбрасывает явное исключение. Кроме того, он используется для создания пользовательских исключений.

Синтаксис:

Пример:

Вывод:

Безопасность нулевых ссылок в Kotlin

Типы систем, поддерживающих Kotlin, в основном различают ссылки, которые могут нести нулевые ссылки, и ссылки, которые не могут нести нулевые ссылки. Kotlin – это язык нулевой безопасности, цель которого – устранить из кода исключение нулевого указателя или нулевой ссылки, которое намеренно называют ошибкой на миллиард долларов.

Самым обычным камнем преткновения многих языков программирования является то, что при обращении к члену нулевой ссылки возникает исключение NullPointerException, которое может быть вызвано оператором !! или тем, что этот конструктор используется где-то еще и передается в другой точке кода. Свойство nullable требует подтверждения проверки на нуль каждый раз перед его использованием.

В Kotlin система различает нулевые и не нулевые ссылки.

Например, переменная String не может содержать null:

Для примера 5:

Вывод:

ООП в Kotlin

Подход объектно-ориентированного программирования позволяет разделить сложный фрагмент кода на более мелкие блоки кода путем создания объектов. Эти объекты взаимно разделяют две характеристики: состояние и поведение.

Вот некоторые из элементов ООП, которые мы собираемся обсудить на примерах кода Kotlin:

  • Класс и Объекты
  • Конструкторы
  • Наследование
  • Абстрактный класс

Класс в Kotlin

Прежде чем создать объект, необходимо определить класс, который также известен как чертеж объекта.

Синтаксис:

Объекты в Kotlin

При определении класса мы определяем только спецификации объекта, никакие другие параметры, такие как память или хранилище, не выделяются.

Синтаксис:

Конструкторы в Kotlin

Конструктор – это способ инициализации свойств класса. Это функция-член, вызываемая при инстанцировании объекта. Но в Kotlin это работает по-другому.

В Kotlin существует два типа конструкторов:

Конструкторы в Kotlin

Первичный конструктор: Оптимизированный способ инициализации класса

Синтаксис:

Вторичный конструктор: Помогает добавить логику инициализации

Наследование в Kotlin

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

Синтаксис:

Абстрактный класс в Kotlin

Абстрактный класс – это класс, который не может быть создан, но мы можем наследовать от него подклассы. Ключевое слово ‘abstract’ используется для объявления абстрактного класса.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *