Bird
Raised Fist0
Kotlinprogramming~20 mins

If as an expression returning value in Kotlin - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
If Expression Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this Kotlin code using if as an expression?
Consider the following Kotlin code snippet. What will be printed when it runs?
Kotlin
fun main() {
    val x = 10
    val result = if (x > 5) "Greater" else "Smaller or equal"
    println(result)
}
Atrue
BSmaller or equal
CGreater
D10
Attempts:
2 left
💡 Hint
Remember that in Kotlin, if can return a value that you can assign to a variable.
❓ Predict Output
intermediate
2:00remaining
What value does the variable 'message' hold after this code runs?
Look at this Kotlin code. What is the value of 'message' after execution?
Kotlin
val number = 3
val message = if (number % 2 == 0) "Even" else "Odd"
A3
BOdd
CEven
Dtrue
Attempts:
2 left
💡 Hint
Check if the number is divisible by 2 without remainder.
🧠 Conceptual
advanced
2:00remaining
Which Kotlin code snippet correctly uses if as an expression to assign a value?
Select the option that correctly uses if as an expression returning a value in Kotlin.
Aval result = if (a > b) a else b
Bval result = if a > b { a } else { b }
Cval result = if (a > b) { a } else
Dval result = if (a > b) a; else b
Attempts:
2 left
💡 Hint
Remember the syntax for if expressions requires parentheses and else branch.
❓ Predict Output
advanced
2:00remaining
What is the output of this Kotlin code using nested if expressions?
Analyze the code and choose the output printed.
Kotlin
fun main() {
    val score = 75
    val grade = if (score >= 90) "A"
                else if (score >= 80) "B"
                else if (score >= 70) "C"
                else "F"
    println(grade)
}
AC
BB
CF
DA
Attempts:
2 left
💡 Hint
Check each condition from top to bottom to see which one matches first.
❓ Predict Output
expert
2:00remaining
What is the output of this Kotlin code using if expression with side effects?
Consider this Kotlin code. What will be printed when it runs?
Kotlin
fun main() {
    var count = 0
    val result = if (++count > 0) {
        "Positive"
    } else {
        "Non-positive"
    }
    println("count = $count, result = $result")
}
Acount = 0, result = Non-positive
Bcount = 0, result = Positive
Ccount = 1, result = Non-positive
Dcount = 1, result = Positive
Attempts:
2 left
💡 Hint
Remember that ++count increments before comparison.

Practice

(1/5)
1. What does it mean when if is used as an expression in Kotlin?
easy
A. It returns a value that can be assigned to a variable.
B. It can only be used without an else block.
C. It cannot be used inside functions.
D. It always causes a syntax error.

Solution

  1. Step 1: Understand if as expression concept

    In Kotlin, if can return a value, unlike some other languages.
  2. Step 2: Recognize usage in assignments

    This means you can assign the result of an if expression directly to a variable.
  3. Final Answer:

    It returns a value that can be assigned to a variable. -> Option A
  4. Quick Check:

    if returns value = D [OK]
Hint: Remember: Kotlin's if returns a value, assignable to variables [OK]
Common Mistakes:
  • Thinking if cannot return values
  • Forgetting to include else block
  • Assuming if is only a statement
2. Which of the following is the correct syntax to assign the result of an if expression to a variable in Kotlin?
easy
A. val result if (x > 0) = "Positive" else "Non-positive"
B. val result = if (x > 0) "Positive" else "Non-positive"
C. val result = if (x > 0) { "Positive" }
D. val result = if x > 0 then "Positive" else "Non-positive"

Solution

  1. Step 1: Check correct Kotlin if expression syntax

    The correct syntax uses if (condition) value1 else value2 inside an assignment.
  2. Step 2: Identify errors in other options

    val result if (x > 0) = "Positive" else "Non-positive" has wrong order, C misses else, D uses invalid keywords.
  3. Final Answer:

    val result = if (x > 0) "Positive" else "Non-positive" -> Option B
  4. Quick Check:

    Correct syntax with else = A [OK]
Hint: Always include else and use parentheses in if expression [OK]
Common Mistakes:
  • Omitting else block
  • Wrong keyword order
  • Missing parentheses around condition
3. What is the output of the following Kotlin code?
val x = 5
val result = if (x % 2 == 0) "Even" else "Odd"
println(result)
medium
A. Even
B. 5
C. Odd
D. SyntaxError

Solution

  1. Step 1: Evaluate the condition x % 2 == 0

    Since 5 % 2 equals 1, the condition is false.
  2. Step 2: Determine which branch executes

    Because the condition is false, the else branch returns "Odd".
  3. Final Answer:

    Odd -> Option C
  4. Quick Check:

    5 is odd = C [OK]
Hint: Check condition result carefully to pick correct branch [OK]
Common Mistakes:
  • Assuming 5 is even
  • Ignoring else branch
  • Confusing modulo operation
4. Identify the error in this Kotlin code using if as an expression:
val x = 10
val result = if (x > 5) "Big"
medium
A. Incorrect variable declaration
B. Extra parentheses in if condition
C. Wrong comparison operator
D. Missing else branch for the if expression

Solution

  1. Step 1: Check if expression completeness

    When using if as an expression, Kotlin requires an else branch to cover all cases.
  2. Step 2: Identify missing else branch

    The code lacks an else branch, causing a compilation error.
  3. Final Answer:

    Missing else branch for the if expression -> Option D
  4. Quick Check:

    if expression needs else = B [OK]
Hint: Always add else when if returns a value [OK]
Common Mistakes:
  • Omitting else block
  • Assuming if can be incomplete
  • Ignoring compiler errors
5. You want to write a Kotlin function that returns "Positive", "Negative", or "Zero" based on an integer input using if as an expression. Which code correctly implements this?
hard
A. fun checkNumber(n: Int): String = if (n > 0) "Positive" else if (n < 0) "Negative" else "Zero"
B. fun checkNumber(n: Int): String { if (n > 0) return "Positive" else if (n < 0) return "Negative" else return "Zero" }
C. fun checkNumber(n: Int): String = if (n > 0) "Positive" else "Negative"
D. fun checkNumber(n: Int): String = if n > 0 then "Positive" else if n < 0 then "Negative" else "Zero"

Solution

  1. Step 1: Understand nested if as expression

    Kotlin allows nested if expressions to return values in a single expression.
  2. Step 2: Check each option for correctness

    fun checkNumber(n: Int): String = if (n > 0) "Positive" else if (n < 0) "Negative" else "Zero" correctly uses nested if expressions with proper syntax and returns all cases. fun checkNumber(n: Int): String { if (n > 0) return "Positive" else if (n < 0) return "Negative" else return "Zero" } uses statements, not expression style. fun checkNumber(n: Int): String = if (n > 0) "Positive" else "Negative" misses the zero case. fun checkNumber(n: Int): String = if n > 0 then "Positive" else if n < 0 then "Negative" else "Zero" uses invalid syntax.
  3. Final Answer:

    fun checkNumber(n: Int): String = if (n > 0) "Positive" else if (n < 0) "Negative" else "Zero" -> Option A
  4. Quick Check:

    Nested if expression with else = A [OK]
Hint: Use nested if-else expressions for multiple return values [OK]
Common Mistakes:
  • Missing else for zero case
  • Using statement style instead of expression
  • Incorrect syntax with then keyword
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard