In this guide, we will discuss if else expression in Kotlin. 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.
Syntax
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.
Example
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 Expression
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:
Syntax
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.
Examples
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
Kotlin if…else…if Ladder
You can use else if condition to specify a new condition if the first condition is false.
Syntax
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 }
Example
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 Nested if Expression
Kotlin allows to put an if expression inside another if expression. This is called nested if expression
Syntax
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 }
Example
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
Next Topic : Click Here
Pingback: Kotlin - Control Flow | Adglob Infosystem Pvt Ltd