В этой статье на тему «переменные Kotlin» вы узнаете:
- Что такое переменная в Kotlin
- Как объявить
- Типы переменных
- В чем суть простоты языка программирования Kotlin
- Решение базовой задачи
Что такое переменная в Kotlin и других языках программирования
Когда программист пишет программу. он использует данные и выполняет с ними различные операции. Переменные используют, чтобы каждый раз заново не вводить значения, не путать их и не ошибаться.
Переменная — это контейнер, в котором хранится какое-то значение.
Например, нам нужно написать программу, которая будет рассчитывать площадь круга. Вот формула площади круга:
S = 2p * r^2
S — это площадь
r — это радиус круга
p — это число пи, константа. Константа — это число, которое никогда не меняется.Число «p» (пи) во всех науках и во всем мире равно 3,14.
Вернемся к нашей программе. Вот как будет с точки зрения пользователя выглядеть ее работа:
Программа попросит его задать значения, которые нужны ей для расчетов. В нашем случае, значения «p» и «r». Это произойдет, потому что во время создания программы, разработчик задал формулу. Для ее расчета нужны значения «контейнеров». «P» и «r» — это и есть контейнеры.
Хотите быстро и легко понять, как работает Kotlin? Запишитесь на консультацию к ментору из крупной компании!
Переменные могут быть просто объявлены. Либо им могут быть присвоены значения. Вернемся к нашему примеру с программой для расчета площади круга. Для работы программе нужны значения переменных «p» и «r». Их можно получить двумя путями.
Первый: запросить оба значения у пользователя. Программа выведет на экран запрос. Пользователь введет значения. Программа покажет результат. То есть, в нашем случае, площадь круга.
Второй вариант: задать значение «p» в коде программы. Напоминаем: «p» — константа. Она никогда не меняется. Поэтому нет смысла каждый раз заново спрашивать ее значение. Программист может задать его один раз во время создания программы. А пользователь будет вводить только значение переменной «r».
В этом и заключается разница между «r» и «p». «r» — пустой контейнер, значение которого еще нужно «положить» внутрь. А у «p» уже есть заданное значение.
Переменные Kotlin: как объявить
Нужно использовать одно из двух ключевых слов: val или var. Затем название переменной. Сразу после названия двоеточие. После двоеточия тип. Вот как это выглядит:
В этой строке мы задали переменную «a» с типом Int через ключевое слово var. Затем можно присвоить ей значение. Нужно написать имя переменной, поставить знак равно, затем поставить присваиваемое значение. Вот как это выглядит:
Мы присвоили «a» значение 5.
Ключевые слова: val и var
Мы уже писали выше, что объявить переменную можно через одно из ключевых слов: val или var. Между ними есть отличие. Значение переменной, которая использует val, нельзя изменить. А значение переменной, которая использует var, можно изменять.
Вот так выглядит использование val:
А вот что будет, если попробовать изменить ее значение:
Что здесь происходит: мы объявили переменную «a». Присвоили ей значение 5. Потом использовали функцию «Println». Она выводит значение на экран. Затем мы попробовали присвоить «a» новое значение —10. И снова попытались вывести его на экран. Программа выдала ошибку. Потому что нельзя изменять значение переменной, которая использует val.
Через var это прекрасно работает:
Сценарий такой же: объявили «a», присвоили ей значение 5, вывели на экран. Потом изменили значение на 10, снова вывели на экран. Программа работает и выводит на экран последовательно два числа: 5 и 10. Ошибки нет.
Остались вопросы? Запишитесь на консультацию к ментору, который лично объяснит все непонятные детали!
Типы переменных в Kotlin
Числовые типы:
Byte. Принимает только целые числа от -128 до 127. Занимает 1 байта памяти.
Short. Принимает только целые числа от -32768 до 32767. Занимает 2 байта памяти.
Int. Принимает только целые числа от -2147483648 до 2147483647. Занимает 4 байта памяти.
Long. Принимает только целые числа от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807. Занимает 8 байтов памяти.
Float. Принимает целые и дробные числа от -3.41038 до 3.41038. Занимает 4 байта памяти.
Double. Принимает целые и дробные числа от ±5.010-324 до ±1.710308. Занимает 8 байтов памяти.
В примерах выше мы объявили переменные Int. На примере ниже видна «a» типа Float:
Логический тип:
Boolean. Принимает только 2 значения: true или false. Занимает 4 байта памяти:
Символьный тип:
Char. Принимает только один символ, который нужно заключать в одинарные кавычки. Занимает 2 байта памяти:
Строковый тип:
String. Принимает значения «слов», которые нужно заключать в двойные кавычки. Занимает разный объем памяти, в зависимости от размера строки:
Kotlin — это про простоту
Способ объявления, который мы описали выше, очень академический. Kotlin — язык, который ориентирован на скорость и простоту. Поэтому на практике используют другой подход.
Переменной присваивают значение сразу же, а не в отдельной строке. Тип обычно не указывают. Потому что по умолчанию Kotlin сам определяет его как Int для целых чисел и как Double для чисел с плавающей запятой.
На практике код выглядит вот так:
Через var мы объявили «a», по умолчанию ее тип — Int. И сразу же присвоили ей значение 5.
Если вы хотите отдельно проверить тип переменной, то используйте код, как в 3 строке на скриншоте:
Программа в консоли выведет ответ вида «kotlin.Тип».
Решаем задачу из начала статьи
Вот как будет выглядеть решение:
Что тут происходит: мы ввели 3 переменные, присвоили им значения.
«r» — радиус круга, значение 5 взяли для примера.
«p» — число Пи, константа, 3.14.
«s» — присвоили значение по формуле нахождения площади круга.
Чуть раньше мы говорили, что по-умолчанию Kotlin обозначает переменные как Int, либо Double. В данном случае программа сама определит тип переменной «p» — double. В Int она не подходит, потому что значение с плавающей точкой.
В 7 строчке мы использовали функцию «println», которая выводит на экран значение того, что указано в скобках. А в скобках указали, что нужно вывести текст «Площадь круга = », а после него — значение переменной «s». Знак доллара показывает программе, что нужно использовать именно значение переменной, то есть результат рассчетов, а не ее идентификатор, то есть «s».
Хотите глубже разобраться в принципах работы Kotlin? Запишитесь на консультацию к ментору из корпорации, который ответит на все ваши вопросы!