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
