В этой статье я научу вас основам Kotlin. Начиная с самого начала мы дойдем до уверернного уровня использования Kotlin. Чтоб когда у вас спросили «Как сделать лямбду функцию» вы на лбу спросившего написали:
val sum: (Int, Int) -> Int = { first: Int, second: Int -> first + second }
Почему Kotlin, а не Java❓
Все просто — этот язык является новой формой Java для Android. В нем решили множество проблем из Java, сделали более приятный синтаксис и для Android он стал работать быстрее. В нем есть все функции из Java, но в Java нет некоторых функций из Kotlin. Поэтому если вы давно хотели изучить Kotlin — вы пришли по адресу! 🧔♀️
Так же этот язык проще многих аналогов (того же Java) от чего начать его использовать куда проще, чем многие другие. Хватит воды — приступаем!
🌟 Переменная:
Переменная простыми словами — это хранилище данных. Сюда можно положить какое-то значение (например, число, строку или другой тип данных). Еще более простой вариант представить себе переменную — подумать о том, что нас окружает. Например, переменной может быть какой-то небольшой мешочек, куда можно положить, к примеру, яблоко. Оно будет там находиться до тех пор, пока мы не решим произвести с яблоком какие-то действия.
С явным указанием типов:
val digit: Int = 0 val string: String = "Hello Wold" val list: List<String> = listOf("привет", "Тимофей")
Можно также и не указывать тип явно:
val digit = 0 val string = "Hello Wold" val list = listOf("привет", "Тимофей")
Все переменные которые указываются через val нельзя изменять, чтоб создать переменную, которую можно изменять используйте var
var digit = 0 digit = 10 + 10
Также можно создать переменную, вызвав ее через const val
const val COUNT_SECTOR = 4 const val PRIMARY_LANG = "Ru"
Разница между val и const в том, что const может принимать только примитивные типы данных: Int, String, Float, Char
🌟 Функции:
Функция — это блок, который может выполнять одно конкретное действие, которое Вы укажите.
Функция может принимать параметры, а также может возвращаться или не возвращать результат функции:
Функция с параметрами:
fun sendHello(name: String) { println("Hello, $name") } sendHello("Timofey") // традиционный вызов функции
Вызвав эту функцию и указав значение аргумента в консоли будет выведен результат.
Hello, Timofey
Функция без параметров:
fun sayHello() { println("Hello World") } sayHello()
При вызове этой функции в консоль выводиться следующее:
Hello World
Функции, которые возвращают данные:
Чтоб функция могла возвращать данные ей необходимо указать тип возвращаемых данных и ключевое слово return
fun invoke1(params1: Int, params2: Int) : Int { return params1 + params2 } fun another(params: Int): Int { /*...*/ } another(invoke1(10,200))
Вот так можно использовать подобные функции. На самом деле применений гораздо больше, но мы ограничимся пока этим.
🌟 Циклы и условия:
Цикл — это как повторять одно и то же действие несколько раз
Условие — Если статья понравился, то я подпишусь на автора 😉
Циклы есть следующие: for, while, do while
for (i in 0..10) { println("-".repeat(20)) println("Значение $i") println("Возведение в квадрат числа $i: ${i * i}") }
var index = 0 while (index <= 10) { println("Index = $index") println("Возведение в квадрат числа $index: ${index * index}") index++ }
# ВАЖНО: в цикли while Вы сами контролируете значение вашего index. Если index не менять, то случиться бесконечный вызов цикла и компилятор выведет ошибку!
Есть и другая форма цикла while — do..while:
var i = -0 do{ println(i*i) i--; } while(i > -5)
данном случае вначале выполняется блок кода после ключевого слова do, а потом оценивается условие после while. Если условие истинно, то повторяется выполнение блока после do. То есть несмотря на то, что в данном случае переменная i меньше -5 и она не соответствует условию, тем не менее блок do выполнится хотя бы один раз.
🌟 Классы (ООП)
Вот и подошли к самому интереснему 😊
В Kotlin классы — это основной инструмент для создания объектов.
Объект — это комбинация данных и действий, которые с этими данными можно выполнять. Класс, по сути, является «чертежом», на основе которого можно создавать объекты.
Как объявить класс?
class Person { var name: String = "" var age: Int = 0 }
Здесь мы создали класс Person
с двумя свойствами: name
и age
. Когда создается объект класса Person
, мы можем задавать значения для этих свойств.
Создание объектов 🚘
Чтобы создать объект класса, используем ключевое слово new
в некоторых других языках, но в Kotlin оно не требуется:
val person = Person() person.name = "Маша" person.age = 25
Теперь объект person
содержит данные: имя «Маша» и возраст 25.
Конструкторы 🧩
Конструктор — это специальная функция, которая вызывается при создании объекта. В Kotlin можно упростить работу с классами, добавив конструктор прямо в объявление класса:
class Person(val name: String, val age: Int)
Теперь при создании объекта мы можем сразу передать значения:
val person = Person("Маша", 25) println(person.name) // вывод: Маша
Методы в классах 🧩
Классы также могут содержать методы — функции, которые выполняют действия с данными класса. Пример:
class Person(val name: String, val age: Int) { fun introduce() { println("Привет, меня зовут $name и мне $age лет.") } }
Теперь можно вызвать метод introduce
:
val person = Person("Маша", 25) person.introduce() // вывод: Привет, меня зовут Маша и мне 25 лет.
Классы в Kotlin позволяют легко организовать данные и действия над ними в одном месте. Благодаря компактному синтаксису, классы становятся удобным инструментом для работы с объектно-ориентированным программированием.
Итог 🍋
Если Вам казалось, что Kotlin — это сложный язык, то начните с самых маленьких шагов к изучению этого языка и вы поймете как он работает и как стать гуру Kotlin )
Это была первая статья из серии «Kotlin». Если у вас остались вопросы или вы недовольны постом — смело комментируйте, критикуйте или поблагодарите за хорошую работу 😎
Если понравилось мое творчество, то смело переходите в мой ТГ канал, там много всего интересного
ссылка на оригинал статьи https://habr.com/ru/articles/848860/
Добавить комментарий