Kotlin - if...else Expression

Kotlin if...else expressions works like an if...else expression in any other Modern Computer Programming. So let's start with our traditional if...else statement available in Kotlin.
The syntax of a traditional if...else expression is as follows:
if (condition) {
   // code block A to be executed if condition is true
} else {
  // code block B to be executed if condition is false
}

Here if statement is executed and the given condition is checked. If this condition is evaluated to true then code block A is executed, otherwise program goes into else part and code block B is executed.
You can try the following example:
fun main(args: Array<String>) {
    val age:Int = 10

    if (age > 18) {
        print("Adult")
    } else {
        print("Minor")
    }
}

When you run the above Kotlin program, it will generate the following output:
Minor

Kotlin if...else can also be used as an expression which returns a value and this value can be assigned to a variable. Below is a simple syntax of Kotlin if...else expression:
val result = if (condition) {
   // code block A to be executed if condition is true
} else {
  // code block B to be executed if condition is false
}

If you're using if as an expression, for example, for returning its value or assigning it to a variable, the else branch is mandatory.
fun main(args: Array<String>) {
    val age:Int = 10

    val result = if (age > 18) {
        "Adult"
    } else {
        "Minor"
    }
    println(result)
}

When you run the above Kotlin program, it will generate the following output:
Minor

You can ommit the curly braces {} when if has only one statement:
fun main(args: Array<String>) {
    val age:Int = 10

    val result = if (age > 18) "Adult" else  "Minor"
    println(result)
}

When you run the above Kotlin program, it will generate the following output:
Minor

You can include multiple statements in if...else  block, in this case the last expression is returned as the value of the block. Try the following example:
fun main(args: Array<String>) {
    val age:Int = 10

    val result = if (age > 18) {
        println("Given condition is true")
        "Adult"
    } else {
        println("Given condition is false")
        "Minor"
    }
    print("The value of result : ")
    println(result)
}

When you run the above Kotlin program, it will generate the following output:
Given condition is false
The value of result : Minor

You can use else if condition to specify a new condition if the first condition is false.
if (condition1) {
  // code block A to be executed if condition1 is true
} else if (condition2) {
  // code block B to be executed if condition2 is true
} else {
  // code block C to be executed if condition1 and condition2 are false
}

fun main(args: Array<String>) {
    val age:Int = 13

    val result = if (age > 19) {
        "Adult"
    } else if ( age > 12 && age  < 20 ){
        "Teen"
    } else {
        "Minor"
    }
    print("The value of result : ")
    println(result)
}

When you run the above Kotlin program, it will generate the following output:
The value of result : Teen

Kotlin allows to put an if expression inside another if expression. This is called nested if expression
if(condition1) {
   // code block A to be executed if condition1 is true
   if( (condition2) {
      // code block B to be executed if condition2 is true
   }else{
      // code block C to be executed if condition2 is fals
   }
} else {
  // code block D to be executed if condition1 is false
}

fun main(args: Array<String>) {
    val age:Int = 20 

    val result = if (age > 12) {
       if ( age > 12 && age  < 20 ){
           "Teen"
       }else{
           "Adult"
       }
    } else {
        "Minor"
    }
    print("The value of result : ")
    println(result)
}

When you run the above Kotlin program, it will generate the following output:
The value of result : Adult

Q 1 - Which of the following is true about Kotlin if expression?
A - Kotlin support traditional if...else expression.
B - Kotlin if...else expression can be nested.
C - Kotlin if...else expression returns a value which can be assigned to a variable.
D - All of the above
All the mentioned statements are correct about Kotlin if expression.
Q 2 - Which of the following is not supported by Kotlin?
A - if...else if...else
B - if...then...else
C - if...else...
D - None of the above
Kotlin does not support if...then...else statement.
Q 3 - What will be the output of the following code?
fun main(args: Array<String>) {

    var x = 20
    var y = 15
    var z = "Mango"

    val result = if (x > y ) {
       z = "Orange"
    } else {
       z = "Apple"
    }
    println("Value of result = $z")
}

A - Mango
B - Orange
C - Apple
D - None of the above
Correct answer is Orange, because x is greater than y, so once this condition is true, it will assign Orange to z variable.

    68 Lectures 
     4.5 hours 

 Arnab Chakraborty

    71 Lectures 
     5.5 hours 

 Frahaan Hussain

    18 Lectures 
     1.5 hours 

 Mahmoud Ramadan

    49 Lectures 
     6 hours 

 Catalin Stefan

    49 Lectures 
     2.5 hours 

 Skillbakerystudios

    22 Lectures 
     1 hours 

 CLEMENT OCHIENG
 Print
 Add Notes
 Bookmark this page