Kotlin: ввод, кастинг, операторы
В предыдущем эпизоде я рассказал вам о простых типах данных. В том эпизоде мы всегда сами определяли данные, сами меняли их, а в конце говорили об операторах. В этом эпизоде мы увидим очень простое получение данных от пользователя (терминала), преобразование данных и операторов.
Вход
Большую часть времени мы пишем код для клиентов. В зависимости от отзывов, которые мы получаем от них, мы либо продолжаем мои транзакции, либо нет. Хотя для Android-разработчиков существует множество различных способов, есть и очень простые способы получения данных от клиента. Те, кто раньше работал с Java, знакомы с этими методами. Вы можете выполнять эти операции с помощью классов сканера и буфероредридера в Java.
var sc = Scanner(System.`in`)
Затем мы создаем переменную и просим клиента присвоить значение этой переменной с помощью созданного нами объекта из класса Scanner.
var name = sc.next() println(name)
Например, в этом примере нам удалось получить имя от пользователя.
Выход:
Мы только что получили тип данных строкового типа. Можем ли мы получить другие типы?
var age = sc.nextInt() println(age)
Таким образом, мы можем получить и другие типы данных. Вы даже можете совершать транзакции с этими входами, если хотите.
var age = sc.nextInt() println(age + 10)
Ну, допустим, вы получили данные целочисленного типа от пользователя, но для ваших операций вам нужны данные строкового типа. После этого мы можем приступить к изучению процессов литья.
var age = sc.nextInt() var intAge = age.toString() println("My age ${intAge}")
На самом деле, я никогда не встречал такого примера. Обычно происходит обратное. Как? Если вы разрабатываете приложение, обычно ввод, который вы получаете от пользователя, представляет собой строку, и вы должны преобразовать ее в целое число. Ты можешь сделать это? Конечно!
var stringAge = sc.next() var intAge = stringAge.toInt() println(intAge)
После строк не будет никаких сюрпризов, но вы можете преобразовать дробные числа в целые.
var double = 11.5 var inttoDouble = double.toInt()
Как видите, наше двойное число было преобразовано в целое. Теперь мы можем перейти к операторам. Вы можете сделать простую арифметику с kotlin.
var sum = 25 + 5 var minus = 25.minus(5) var multip = 5 * 5 var division = 30.div(6)
В этих кодах я хотел показать вам, что вы можете выполнять арифметические операции двумя разными методами, а также у нас есть операторы присваивания.
var num = 15 num += 1 //Or you can use it like that, var num2 = 20 num -= num2
Без лишних слов я хотел бы перейти к операторам сравнения с операциями умножения и деления. Вы можете догадаться, как сделать умножение и деление. Без лишних слов я хочу перейти к операторам сравнения. Вам будет полезнее прочитать пояснения между кодами в этих разделах.
// == means equal println(4 == 6) Output: false // != means not equal println(4 != 6) Output: true // > greater than println(14 > 5) Output: true // < less than println(5 < 20) Output: true // >= greater than or equal println(10 >= 3) Output: true // <= less than or equal println(10 <= 3) Output: false
Почему эти операторы так важны?*
Наша следующая тема — логические операторы. Допустим, у нас есть 4 переменные.
val var1 = 20 val var2 = 12 val var3 = 45 val var4 = 75 println(var1 > var2 && var4 > var3)
Если мы используем оператор and(&&), он вернет true, если оба наших условия верны.
Output: true
возвращает ложь, если хотя бы одна из них ложна. Если мы используем оператор или (||), он вернет истину, если любой из них верен.
println(var1 < var2 || var4 > var3)
Мы подошли к концу главы с этой темой. До скорой встречи!
Ресурсы:
Фото на обложке: https://tr.pinterest.com/pin/141230138300769505/
https://www.udemy.com/course/android-o-mobil-uygulama-dersi-kotlin-java/
После сценария
Говоря об операторах присваивания, я спросил, почему эти вопросы важны. Элементы управления «если-иначе» — одна из наиболее важных проблем программирования — полностью основаны на этих проблемах. Позвольте мне объяснить, что я имею в виду, на примере, и давайте быстро взглянем на следующую статью.
Допустим, у вас есть приложение, и им могут пользоваться люди старше 18 лет. Вы должны узнать возраст пользователя, а затем действовать в соответствии с возрастом пользователя. Возьмем простой пример.
val sc = Scanner(System.`in`) var userAge = sc.nextInt() var legalAge = 18 if(userAge >= legalAge){ println("Welcome to app") }else{ println("You can't the use app") }