KOTLIN: If else expression
Sumber: https://www.tutorialspoint.com/kotlin/kotlin_if_else_expression.htm
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 Quiz Time (Interview & Exams Preparation) 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
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
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