Bird
Raised Fist0
Kotlinprogramming~15 mins

If as an expression returning value in Kotlin - Mini Project: Build & Apply

Choose your learning style10 modes available
Using If as an Expression Returning Value in Kotlin
📖 Scenario: Imagine you are creating a simple program that decides what message to show based on the temperature outside. You want to use Kotlin's if expression to choose the message.
🎯 Goal: Build a Kotlin program that uses if as an expression to assign a message based on a temperature value.
📋 What You'll Learn
Create an integer variable called temperature with the value 15
Create a string variable called message that uses if as an expression to set its value
Use if to check if temperature is greater than 20
If true, message should be "It's warm outside!"
If false, message should be "It's cold outside!"
Print the message variable
💡 Why This Matters
🌍 Real World
Using <code>if</code> as an expression helps in many real-world apps where decisions affect what data or message to show.
💼 Career
Understanding expressions like <code>if</code> in Kotlin is important for writing clean, efficient code in Android app development and backend services.
Progress0 / 4 steps
1
Create the temperature variable
Create an integer variable called temperature and set it to 15.
Kotlin
Hint

Use val temperature = 15 to create the variable.

2
Create the message variable using if expression
Create a string variable called message that uses if as an expression to set its value. Use if (temperature > 20) to assign "It's warm outside!" if true, otherwise "It's cold outside!".
Kotlin
Hint

Use val message = if (temperature > 20) "It's warm outside!" else "It's cold outside!".

3
Print the message
Write a println statement to print the message variable.
Kotlin
Hint

Use println(message) to show the message on the screen.

4
Run the program and see the output
Run the program and observe the output. It should print "It's cold outside!" because the temperature is 15.
Kotlin
Hint

Check that the output matches exactly: "It's cold outside!"

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