Операторы в Kotlin — арифметический, отношения, побитовый

Операторы в Kotlin — это специальные символы, которые выполняют операции над операндами (значениями или переменными). В Kotlin доступны различные типы операторов.

  • Арифметический оператор
  • Оператор отношения
  • Побитовый

Арифметический оператор

Арифметические операторы используются для выполнения основных математических операций, таких как сложение(+), вычитание(-), умножение(*), деление(/) и т. д.

Оператор Описание Выражение Значение
+ Сложение a+b a.plus(b)
Вычитание a-b a.minus(b)
* Умножение a*b a.times(b)
/ Деление a/b a.div(b)
% Модуль a%b a.rem(b)

Пример арифметического оператора:

 
fun main(args : Array) { 
var a=10; 
var b=5; 
println(a+b); 
println(a-b); 
println(a*b); 
println(a/b); 
println(a%b); 
} 

Выход:

15 
5 
50 
2 
0 

Оператор отношения

Оператор отношения показывает отношение и сравнивает операнды. Ниже приведены различные реляционные операторы:

Оператор Описание Выражение Значение
> больше чем a>b a.compateTo(b)>0
< меньше чем a<b a.compateTo(b)<0
>= больше чем или равно a>=b a.compateTo(b)>=0
<= меньше чем или равно a<=b a?.equals(b)?:(b===null)
== равно a==b a?.equals(b)?:(b===null)
!= не равно a!=b !(a?.equals(b)?:(b===null))

Пример логического оператора:

fun main(args : Array<String>) { 
val a = 5 
val b = 10 
val max = if (a > b) { 
println("a is greater than b.") 
a 
} else{ 
println("b is greater than a.") 
b 
} 
println("max = $max") 
} 

Выход:

b is greater than a.
max = 10 

Побитовая операция

В Котлине нет специального побитового оператора. Побитовая операция выполняется с помощью именованной функции.

Именованная функция Описание Выражение
shl (bits) подписанный сдвиг влево a.shl(b)
shr (bits) подписанный сдвиг вправо a.shr(b)
ushr (bits) беззнаковый сдвиг вправо a.ushr(b)
and (bits) побитовое и a.and(b)
or (bits побитовое или a.or(b)
xor (bits) побитовый xor a.xor(b)
inv() побитовая инверсия a.inv()

Пример побитовой операции:

 
fun main(args: Array){ 
    var a=10 
    var b=2 
 
    println("a.shl(b): "+a.shl(b)) 
    println("a.shr(b): "+a.shr(b)) 
    println("a.ushr(b:) "+a.ushr(b)) 
    println("a.and(b): "+a.and(b)) 
    println("a.or(b): "+a.or(b)) 
    println("a.xor(b): "+a.xor(b)) 
    println("a.inv(): "+a.inv()) 
 
} 

Выход:

a.shl(b): 40 
a.shr(b): 2 
a.ushr(b:) 2 
a.and(b): 2 
a.or(b): 10 
a.xor(b): 8 
a.inv(): -11 

Оцените статью