Как стать автором
Обновить

Kotlin для Самых маленьких

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров10K

В этой статье я научу вас основам 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". Если у вас остались вопросы или вы недовольны постом - смело комментируйте, критикуйте или поблагодарите за хорошую работу 😎

Если понравилось мое творчество, то смело переходите в мой ТГ канал, там много всего интересного

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Статья была полезной?
55.1% Да27
44.9% Нет22
Проголосовали 49 пользователей. Воздержались 6 пользователей.
Теги:
Хабы:
Всего голосов 12: ↑6 и ↓60
Комментарии20

Публикации

Работа

Ближайшие события