val и var
В Kotlin есть два ключевых слова для переменных: val (неизменяемая, аналог final в Java) и var (изменяемая). Предпочитайте val где возможно.
val pi = 3.14159 // нельзя переприсвоить
var count = 0 // можно переприсвоить
count = 5 // OK
// pi = 3.14 // ❌ Ошибка: val нельзя переприсвоить
Аннотации типов
Kotlin автоматически выводит типы, но можно указывать их явно:
val name: String = "Алиса"
val age: Int = 25
val height: Double = 1.75
val isStudent: Boolean = true
// Вывод типа
val city = "Москва" // String
val score = 100 // Int
val ratio = 0.85 // Double
Основные типы данных
val i: Int = 42
val l: Long = 10_000_000L
val d: Double = 3.14
val f: Float = 3.14f
val b: Boolean = true
val c: Char = 'А'
val s: String = "Kotlin"
Строковые шаблоны
val name = "Алиса"
val age = 25
println("Меня зовут $name, мне $age лет.")
// Выражение в шаблоне:
println("В следующем году мне будет ${age + 1}")
Nullable-типы
var nonNull: String = "привет" // не может быть null
var nullable: String? = null // может быть null
// Безопасный вызов
println(nullable?.length) // null (без краша)
// Оператор Элвиса
val len = nullable?.length ?: 0
println(len) // 0