Skip to content
Related Articles

Related Articles

Improve Article
Kotlin Operators
  • Difficulty Level : Easy
  • Last Updated : 23 Aug, 2019

Operators are the special symbols that perform different operation on operands. For example + and – are operators that perform addition and subtraction respectively. Like Java, Kotlin contains different kinds of operators.

  • Arithmetic operator
  • Relation operator
  • Assignment operator
  • Unary operator
  • Logical operator
  • Bitwise operator

Airthmetic Operators –

OperatorsMeaningExpressionTranslate to
+Additiona + ba.plus(b)
Subtractiona – ba.minus(b)
*Multiplicationa * ba.times(b)
/Divisiona / ba.div(b)
%Modulusa % ba.rem(b)




fun main(args: Array<String>)
{
    var a = 20 var b = 4 println("a + b = " + (a + b))
        println("a - b = " + (a - b))
        println("a * b = " + (a.times(b)))
        println("a / b = " + (a / b))
        println("a % b = " + (a.rem(b)))
}

Output:

a + b = 24
a - b = 16
a * b = 80
a / b = 5
a % b = 0

 

Relational Operators –



OperatorsMeaningExpressionTranslate to
>greater thana > ba.compareTo(b) > 0
<less thana < ba.compareTo(b) < 0
>=greater than or equal toa >= ba.compareTo(b) >= 0
<=less than or equal toa <= ba.compareTo(b) <= 0
==is equal toa == ba?.equals(b) ?: (b === null)
!=not equal toa != b!(a?.equals(b) ?: (b === null)) > 0




fun main(args: Array<String>)
{
    var c = 30
    var d = 40
    println("c > d = "+(c>d))
    println("c < d = "+(c.compareTo(d) < 0))
    println("c >= d = "+(c>=d))
    println("c <= d = "+(c.compareTo(d) <= 0))
    println("c == d = "+(c==d))
    println("c != d = "+(!(c?.equals(d) ?: (d === null))))
}

Output:

c > d = false
c < d = true
c >= d = false
c <= d = true
c == d = false
c != d = true

 

Assignment Operators -

OperatorsExpressionTranslate to
+=a = a + ba.plusAssign(b) > 0
-=a = a - ba.minusAssign(b) < 0
*=a = a * ba.timesAssign(b)>= 0
/=a = a / ba.divAssign(b) <= 0
%=a = a % ba.remAssign(b)




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

Output:

15
10
50
10
0

 
Unary Operators -

OperatorsExpressionTranslate to
++++a or a++a.inc()
----a or a--a.dec()




fun main(args : Array<String>){
    var e=10
    var flag = true
    println("First print then increment: "+ e++)
    println("First increment then print: "+ ++e)
    println("First print then decrement: "+ e--)
    println("First decrement then print: "+ --e)
}

Output:

First print then increment: 10
First increment then print: 12
First print then decrement: 12
First decrement then print: 10

 
Logical Operators -

OperatorsMeaningExpression
&&return true if all expressions are ture(a>b) && (a>c)
||return true if any of expression is true(a>b) || (a>c)
!return complement of the expressiona.not()




fun main(args : Array<String>){
    var x = 100
    var y = 25
    var z = 10
    var result = false
    if(x > y && x > z)
     println(x)
    if(x < y || x > z)
     println(y)
    if( result.not())
     println("Logical operators")
}

Output:

100
25
Logical operators

 
Bitwise Operators -

OperatorsMeaningExpression
shlsigned shift lefta.shl(b)
shrsigned shift righta.shr(b)
ushrunsigned shift righta.ushr()
andbitwise anda.and(b)
orbitwise ora.or()
xorbitwise xora.xor()
invbitwise inversea.inv()




fun main(args: Array<String>)
{
    println("5 signed shift left by 1 bit: " + 5.shl(1))
    println("10 signed shift right by 2 bits: : " + 10.shr(2))
    println("12 unsigned shift right by 2 bits:  " + 12.ushr(2))
    println("36 bitwise and 22: " + 36.and(22))
    println("36 bitwise or 22: " + 36.or(22))
    println("36 bitwise xor 22: " + 36.xor(22))
    println("14 bitwise inverse is: " + 14.inv())
}

Output:

5 signed shift left by 1 bit: 10
10 signed shift right by 2 bits: : 2
12 unsigned shift right by 2 bits:  3
36 bitwise and 22: 4
36 bitwise or 22: 54
36 bitwise xor 22: 50
14 bitwise inverse is: -15



My Personal Notes arrow_drop_up
Recommended Articles
Page :