JavaRush /Курсы /Kotlin SELF /Типы переменных в Kotlin: var/val и базовые типы (Int, St...

Типы переменных в Kotlin: var/val и базовые типы (Int, String, Double, Boolean, Char)

Kotlin SELF
1 уровень , 4 лекция
Открыта

1. Объявление переменных

Давайте еще раз вспомним, как создавать переменные. В Kotlin переменная объявляется так: var имя: Тип или val имя: Тип.

  • var (сокращение от variable) — переменная, которой можно присваивать новое значение (изменяемая).
  • val (сокращение от value) — переменная, которой можно присвоить значение только один раз (неизменяемая).

Примеры:

Команда Пояснение
var s: String
Создается переменная
s
типа
String
. Такая переменная может хранить текст.
var x: Int
Создается переменная
x
типа
Int
. Такая переменная может хранить в себе целые числа.
var d: Double
Создается переменная
d
типа
Double
. Такая переменная может хранить дробные числа.
Важно!

Нельзя создать две переменные с одинаковыми именами в одном блоке кода. А вот в разных — можно. Это как коробки, стоящие в разных домах. Подробнее о блоках кода — в следующих лекциях.

Еще есть ограничения на имя переменной. С одной стороны, оно может быть любым, с другой — оно не может содержать пробелов, символов +, - и т.д. Лучше всего в имени переменной использовать только латинские буквы и цифры.

И опять напоминаю, что в языке Kotlin играет роль, какие буквы вы пишете — большие или маленькие. var a: Int — это не то же самое, что и var a: int (в Kotlin типа int вообще нет — есть Int).

2. Выведение типа

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

Другими словами, тип переменной можно не писать, если его одозначнго можно определить по значнию, которое присвоили переменной. Это экономит время и место. Примеры:

Компактный код Длинный код, эквивалентный коду слева
var a = 5
var a: Int; a = 5
var b = 6
var b: Int; b = 6
var c = 7
var c: Int; c = 7
var d = c + 1
var d: Int; d = c + 1
var s = "I'm Amigo"
var s: String; s = "I'm Amigo"

Так гораздо компактнее и понятнее.

Ну а раз с созданием переменных мы уже разобрались, давайте познакомимся с 5 самыми используемыми типами в языке Kotlin. Это типы Int (целые числа), String (текст/строки), Double (вещественные числа), Char (символы) и Boolean (логический тип).

2. Тип Int

В переменной типа Int можно хранить целые числа: 5, -10, 100500. Также над типом Int можно выполнять различные арифметические операции: сложение, вычитание, умножение, деление и другие. Примеры:

val x: Int = 1                  	// x будет равен 1
val y: Int = x * 2              	// y будет равен 2
val z: Int = 5 * y * y + 2 * y + 3 	// z будет равен 20+4+3, будет равен 27
val a: Int = 5                  	// a будет равно 5
val b: Int = 1                  	// b будет равно 1
val c: Int = (a - b) * (a + b)  	// c будет равно 4*6, будет равно 24
val a: Int = 64                 	// a будет равно 64
val b: Int = a / 8              	// b будет равно 8
val c: Int = b / 4              	// c будет равно 2
val d: Int = c * 3              	// d будет равно 6

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

3. Тип String

Тип String позволяет хранить текстовые строки. А чтобы задать какую-то текстовую строку, в Kotlin надо написать текст строки, а с обеих сторон поставить двойные кавычки. Пример:

Код Пояснение
val s: String = "Amigo"
s
будет содержать текст
Amigo
val s: String = "123"
s
будет содержать текст
123
val s: String = "Bond 007"
s
будет содержать текст
Bond 007

Выглядит несложно, правда? Ну если так, тогда вот еще один интересный факт.

Строки в Kotlin можно склеивать с помощью знака плюс — +. Пример:

fun main() {
    val s1: String = "Amigo" + " the best"  // s1 будет содержать Amigo the best
    val s2: String = ""                     // s2 будет содержать пустую строку — вообще без символов.

    val x: Int = 2025
    val s3: String = "Amigo" + x            // s3 будет содержать Amigo2025
}

Обратите внимание на последний пример: мы сложили строку и число. Тут тоже все просто: число будет преобразовано в строку, затем две строки будут склеены. При сложении строк и чисел всегда получается строка.

4. Double — числа с дробной частью

Double нужен, когда есть дробная часть: цена, температура, средний балл, координаты, проценты. Отличить Double на глаз легко: в записи литерала есть точка. Да, именно точка — в коде пишут 3.14, а не 3,14.

Вот как будут выглядеть вещественные числа в коде:

fun main() {
    val heightMeters = 1.78
    val coffeeRating = 4.5

    println(heightMeters)  // 1.78
    println(coffeeRating)  // 4.5
}

Важно уловить суть: 1.78 — это не «почти целое». Это значение другого типа, и Kotlin будет к нему относиться как к вещественному числу.

5. Boolean — правда/ложь

Boolean — это тип, который хранит только два значения: true или false. На старте он кажется скучным, но это ровно тот кирпичик, из которого потом строятся проверки и логика поведения программы. Сейчас нам важно просто понимать: true/false — это не строки (там нет кавычек) и не числа.

Добавим пару «флагов» в профиль:

fun main() {
    val isStudent = true
    val likesPineappleOnPizza = false

    println(isStudent)             // true
    println(likesPineappleOnPizza) // false
}

Да, это выглядит слегка философски: «любишь ананас на пицце — false». Но зато прекрасно демонстрирует, что переменная может хранить не только текст и числа.

6. Char — один символ

Char — это один-единственный символ. Он записывается в одинарных кавычках: 'A', '7', '?'. Это не строка. Строка может быть длиной 1 символ ("A"), но это всё равно другой тип.

Kotlin прямо подчёркивает: символы представлены типом Char, а литералы Char пишутся в одинарных кавычках.

Вот как это выглядит в коде:

fun main() {
    val firstLetter: Char = 'A'
    val separator: Char = '#'

    println(firstLetter) // A
    println(separator)   // #
}

Здесь я намеренно указал тип явно (: Char), чтобы вы увидели форму записи. Обычно Kotlin и так догадается, но иногда явность полезна — особенно когда вы только учитесь читать код.

7. Литералы: как по записи значения понять тип

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

Удобно держать в голове такую таблицу:

Как записано значение в коде Пример Какой это тип
Цифры без кавычек и без точки
42
Int
Есть точка в числе
3.14
Double
Двойные кавычки
"Hello"
String
true
/
false
true
Boolean
Один символ в одинарных кавычках
'A'
Char

Эта таблица кажется очевидной, но именно на ней чаще всего «спотыкаются» на первом дне: кавычки забыли, кавычки перепутали, поставили запятую вместо точки, написали 'AB' и удивились, почему это не Char.

8. Вывод переменной на экран

Вроде все так очевидно и элементарно. Ну тогда, может, вы сразу догадаетесь, какой командой можно вывести переменную на экран?

На самом деле все просто. Чтобы вывести что-то на экран, мы используем функцию println(), куда в качестве параметра передаем то, что мы выводим.

fun main() {
    println("Amigo")         // Amigo

    println("Ami" + "go")    // Amigo

    val s1: String = "Amigo"
    println(s1)              // Amigo

    val s2: String = "Am"
    println(s2 + "igo")      // Amigo
}

Надеюсь, теперь стало немного понятнее. А правильно вы все поняли или нет, мы сейчас проверим. Практика — критерий истины: только с помощью практики можно проверить, хорошо ли вы во всем разобрались.

1
Задача
Kotlin SELF, 1 уровень, 4 лекция
Недоступна
Пять базовых “коробок”
Пять базовых “коробок”
1
Задача
Kotlin SELF, 1 уровень, 4 лекция
Недоступна
Вывод типа vs явный тип (одинаковый результат)
Вывод типа vs явный тип (одинаковый результат)
1
Задача
Kotlin SELF, 1 уровень, 4 лекция
Недоступна
Отложенная инициализация и обязательный тип
Отложенная инициализация и обязательный тип
Комментарии (3)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
6 мая 2026
Одно неясно: зачем делать комментарии // TODO, если код там уже написан за нас?
Сергей Уровень 1
24 марта 2026
"Double нужен, когда есть дробная часть: цена": очень и очень спорное утверждение
Nikolay Уровень 2
22 марта 2026
всё понятно! задачи решены.) Едем дальше!)