Industrial Training




Kotlin Operator


Operators are special characters which perform operation on operands (values or variable).There are various kind of operators available in Kotlin.


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

Arithmetic Operator


Arithmetic operators are used to perform basic mathematical operations such as addition (+), subtraction (-), multiplication (*), division (/) etc.


Operator Description Expression Translate to

+

Addition

a+b

a.plus(b)

-

Subtraction

a-b

a.minus(b)

*

Multiply

a*b

a.times(b)

/

Division

a/b

a.div(b)

%

Modulus

a%b

a.rem(b)


Example of Arithmetic Operator


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

Output:
15
5
50
2
0

Relation Operator

Relation operator shows the relation and compares between operands. Following are the different relational operators:


Operator Description Expression Translate to

>

greater than

a>b

a.compateTo(b)>0

<

Less than

a < b

a.compateTo(b)< 0

>=

greater than or equal to

a>=b

a.compateTo(b)>=0

<=

less than or equal to

a<=b

a?.equals(b)?:(b===null)

==

is equal to

a==b

a?.equals(b)?:(b===null)

!=

not equal to

a!=b

!(a?.equals(b)?:(b===null))


Example of Relation Operator
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")  
}  
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")  
}  

Output:
b is greater than a.
max = 10

Assignment operator


Assignment operator "=" is used to assign a value to another variable. The assignment of value takes from right to left.


Operator Description Expression Translate to

+=

add and assign

a+=b

a.plusAssign(b)

-=

subtract and assign

a-=b

a.minusAssign(b)

*=

multiply and assign

a*=b

a.timesAssign(b)

/=

divide and assign

a/=b

a.divAssign(b)

%=

mod and assign

a%=b

a.remAssign(b)/p>


Example of Assignment operator
fun main(args : Array< String>) {  
  
    var a =20;var b=5  
    a+=b  
    println("a+=b :"+ a)  
    a-=b  
    println("a-=b :"+ a)  
    a*=b  
    println("a*=b :"+ a)  
    a/=b  
    println("a/=b :"+ a)  
    a%=b  
    println("a%=b :"+ a)  
  
}  
fun main(args : Array< String>) {  
  
    var a =20;var b=5  
    a+=b  
    println("a+=b :"+ a)  
    a-=b  
    println("a-=b :"+ a)  
    a*=b  
    println("a*=b :"+ a)  
    a/=b  
    println("a/=b :"+ a)  
    a%=b  
    println("a%=b :"+ a)  
  
}  

Output:
a+=b :25
a-=b :20
a*=b :100
a/=b :20
a%=b :0

Unary Operator


Unary operator is used with only single operand. Following are some unary operator given below.


Operator Description Expression Translate to

+

unary plus

+a

a.unaryPlus()

-

unary minus

-a

a.unaryMinus()

++

increment by 1

++a

a.inc()

--

decrement by 1

--a

a.dec()

!

not

!a

a.not()


Example of Unary Operator
fun main(args: Array< String>){  
    var a=10  
    var b=5  
    var flag = true  
    println("+a :"+ +a)  
    println("-b :"+ -b)  
    println("++a :"+ ++a)  
    println("--b :"+ --b)  
    println("!flag :"+ !flag)  
}  
fun main(args: Array< String>){  
    var a=10  
    var b=5  
    var flag = true  
    println("+a :"+ +a)  
    println("-b :"+ -b)  
    println("++a :"+ ++a)  
    println("--b :"+ --b)  
    println("!flag :"+ !flag)  
}    

Output:
+a :10
-b :-5
++a :11
--b :4
!flag :false

Logical Operator


Logical operators are used to check conditions between operands. List of logical operators are given below.


Operator Description Expression Translate to

&&

return true if all expression are true

(a>b) && (a>c)

(a>b) and (a>c)

||

return true if any expression are true

(a>b) || (a>c)

(a>b) or(a>c)

!

return complement of expression

!a

a.not()


Example of Logical Operator
fun main(args: Array< String>){  
    var a=10  
    var b=5  
    var c=15  
    var flag = false  
    var result: Boolean  
    result = (a>b) && (a>c)  
    println("(a>b) && (a>c) :"+ result)  
    result = (a>b) || (a>c)  
    println("(a>b) || (a>c) :"+ result)  
    result = !flag  
    println("!flag :"+ result)  
  
}  
fun main(args: Array< String>){  
    var a=10  
    var b=5  
    var c=15  
    var flag = false  
    var result: Boolean  
    result = (a>b) && (a>c)  
    println("(a>b) && (a>c) :"+ result)  
    result = (a>b) || (a>c)  
    println("(a>b) || (a>c) :"+ result)  
    result = !flag  
    println("!flag :"+ result)  
  
}  

Output:
(a>b) && (a>c) :false
(a>b) || (a>c) :true
!flag :true

Bitwise Operation


In Kotlin, there is not any special bitwise operator. Bitwise operation is done using named function.


Named Function Description Expression

shl (bits)

signed shift left

a.shl(b)

shr (bits)

signed shift right

a.shr(b)

ushr (bits)

unsigned shift right

a.ushr(b)

and (bits)

bitwise and

a.and(b)

or (bits)

bitwise or

a.or(b)

xor (bits)

bitwise xor

a.xor(b)

inv()

bitwise inverse

a.inv()


Example of Bitwise Operation
fun main(args: Array< String>){  
    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())  
  
}  
fun main(args: Array< String>){  
    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())  
  
}  

Output:
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


Hi I am Pluto.