How do I use if expressions for decision-making in Kotlin?

In Kotlin, if expressions are used for decision-making. Unlike some other programming languages, Kotlin’s if is an expression, meaning it returns a value. This makes it more versatile because it can be directly assigned to a variable or used in a function return.

Here’s how it works:

1. Basic if expression

The simplest usage is just like a usual if statement:

val number = 10

if (number > 0) {
    println("$number is positive")
}

2. if-else expression

Kotlin’s if can be combined with else to define two branches of logic:

val number = -5

if (number > 0) {
    println("$number is positive")
} else {
    println("$number is non-positive")
}

3. Using if as an expression

The key feature of Kotlin’s if is that it returns a value. This means you can assign the result of an if to a variable:

val number = 15

val result = if (number % 2 == 0) {
    "Even"
} else {
    "Odd"
}

println("The number is $result")

Here, the value of result will be "Odd" because number is 15.

4. if with multiple branches

You can include more than two branches by chaining multiple else if conditions:

val number = 0

val result = if (number > 0) {
    "Positive"
} else if (number < 0) {
    "Negative"
} else {
    "Zero"
}

println("The number is $result")

5. Returning block results

When using an if expression with blocks (multiple lines), the last expression in each block is the value that gets returned:

val a = 10
val b = 20

val max = if (a > b) {
    println("a is greater")
    a  // This value is returned
} else {
    println("b is greater")
    b  // This value is returned
}

println("Maximum is $max")

6. if as a shorthand

For simple conditions, you can write the if expression in a single line:

val age = 18
val isAdult = if (age >= 18) "Adult" else "Minor"

println("You are $isAdult")

In this case, there’s no need for curly braces.

Notes:

  • if expressions must always cover all cases when used to assign a result. If you omit the else branch and none of the conditions are met, the code will result in a compilation error.
  • For decision-making scenarios with many options, consider using when expressions for more readability.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.