На этом шаге мы рассмотрим особенности выполнения этой операции .
Давайте создадим в TypeIntro.kt создадим первую переменную с именем experiencePoints и присвоим ей значение.
fun main() { var experiencePoints: Int = 5 println(experiencePoints) }
Рис.1. Содержимое функции
Итак, мы создали переменную с типом Int и именем experiencePoints. Давайте подробнее рассмотрим, что у нас получилось.
Мы определили переменную, используя ключевое слово var, которое начинает объявление новой переменной, и после ключевого слова указали ее имя.
Дальше мы определили тип переменной: Int. Это означает, что experiencePoints будет хранить целое число.
И, наконец, мы использовали оператор присваивания (=), чтобы присвоить значение справа (значение типа Int, а именно - 5) переменной слева (experiencePoints).
На рисунке 2 показано объявление experiencePoints в виде диаграммы.
Рис.2. Схема объявления переменной
После объявления значение переменной можно вывести в консоль с помощью функции println().
Запустите программу, нажав Run рядом с функцией main() и выбрав Run 'TypeIntro. kt'. В консоли появится число 5, то есть значение, которое вы присвоили experiencePoints.
Рис.3. Выполнение программы
Теперь попробуйте присвоить experiencePoints значение "thirty-two".
fun main() { var experiencePoints: Int = "thirty-two" println(experiencePoints) }
Запустите main(), снова щелкнув на кнопке запуска. На этот раз компилятор Kotlin сообщит об ошибке:
Error:(2, 33) Kotlin: Type mismatch: inferred type is String but Int was expected
Рис.4. Выдача сообщения об ошибке
Набирая код, вы могли заметить красное подчеркивание под "thirty-two". Так IntelliJ подсказывает вам, что в программе ошибка. Наведите указатель мыши на "thirty-two", чтобы прочитать описание обнаруженной проблемы.
Рис.5. Описание проблемы
Kotlin использует статическую типизацию, то есть компилятор проверяет все типы в исходном коде, чтобы убедиться, что написанный код корректен. IntelliJ, в свою очередь, проверяет код в процессе набора и выделяет попытки присвоить переменной значение неверного типа. Это называется статической проверкой согласованности типов и помогает увидеть ошибки еще до компиляции кода.
Чтобы устранить ошибку, надо заменить значение "thirty-two", присвоенное переменной experiencePoints, другим значением, соответствующим типу Int, например целым числом 5.
В процессе работы программы переменной может быть присвоено другое значение. Добавим 5 к переменной experiencePoints, как показано ниже.
fun main() { var experiencePoints: Int = 5 experiencePoints += 5 println(experiencePoints) }
Рис.6. Измененная программа
После присвоения переменной experiencePoints значения 5 используйте оператор сложения с присваиванием (+=), чтобы увеличить переменную на 5. Запустите программу снова. В итоге в консоли появится число 10.
Рис.7. Результат работы программы
На следующем шаге мы рассмотрим встроенные типы языка Kotlin.