Theoretical Paper
- Computer Organization
- Data Structure
- Digital Electronics
- Object Oriented Programming
- Discrete Mathematics
- Graph Theory
- Operating Systems
- Software Engineering
- Computer Graphics
- Database Management System
- Operation Research
- Computer Networking
- Image Processing
- Internet Technologies
- Micro Processor
- E-Commerce & ERP
- Dart Programming
- Flutter Tutorial
- Numerical Methods Tutorials
- Flutter Tutorials
- Kotlin Tutorial
Practical Paper
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