Bird
Raised Fist0
Kotlinprogramming~5 mins

Elvis operator (?:) for default values in Kotlin - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does the Elvis operator (?:) do in Kotlin?
The Elvis operator returns the value on its left if it is not null; otherwise, it returns the value on its right. It helps provide default values when dealing with nullable variables.
Click to reveal answer
beginner
How do you use the Elvis operator to assign a default value to a nullable variable?
You write: val result = nullableValue ?: defaultValue. If nullableValue is null, result gets defaultValue.
Click to reveal answer
beginner
Example: What is the output of val name: String? = null; println(name ?: "Guest")?
The output is Guest because name is null, so the Elvis operator returns the default string "Guest".
Click to reveal answer
intermediate
Can the Elvis operator be chained in Kotlin?
Yes, you can chain Elvis operators like val result = a ?: b ?: c. It returns the first non-null value from left to right.
Click to reveal answer
beginner
Why is the Elvis operator useful in real-life Kotlin programming?
It simplifies code by avoiding explicit null checks and providing easy default values, making programs safer and cleaner.
Click to reveal answer
What does the Elvis operator (?:) return if the left side is not null?
AThe right side value
BAn error
CNull
DThe left side value
Which Kotlin code uses the Elvis operator correctly to provide a default value?
Aval x = nullable ?: default
Bval x = nullable ? default
Cval x = nullable || default
Dval x = nullable && default
What will val age: Int? = null; val result = age ?: 18 assign to result?
A0
Bnull
C18
DError
Can the Elvis operator be used with non-nullable types?
ANo, only with nullable types
BYes, always
COnly with strings
DOnly with numbers
What is the main benefit of using the Elvis operator in Kotlin?
ATo shorten code by avoiding explicit null checks
BTo create loops
CTo declare variables
DTo handle exceptions
Explain how the Elvis operator (?:) works in Kotlin and give a simple example.
Think about how to provide a fallback value when something might be null.
You got /3 concepts.
    Describe a real-life situation where using the Elvis operator can make your Kotlin code cleaner and safer.
    Imagine you ask for a user's name but they might not enter it.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the Elvis operator ?: do in Kotlin?
      easy
      A. Checks if two values are equal
      B. Converts a value to a string
      C. Throws an exception if the left value is null
      D. Returns the left value if it is not null; otherwise returns the right value

      Solution

      1. Step 1: Understand the Elvis operator purpose

        The Elvis operator ?: is used to provide a default value when the left side is null.
      2. Step 2: Analyze the behavior

        If the left value is not null, it returns that value; otherwise, it returns the right value as a fallback.
      3. Final Answer:

        Returns the left value if it is not null; otherwise returns the right value -> Option D
      4. Quick Check:

        Elvis operator = default value if null [OK]
      Hint: Elvis operator gives a fallback value if null [OK]
      Common Mistakes:
      • Thinking it compares two values
      • Assuming it throws an error on null
      • Confusing it with string conversion
      2. Which of the following is the correct syntax to use the Elvis operator in Kotlin?
      easy
      A. val result = value ??: defaultValue
      B. val result = value ? defaultValue
      C. val result = value ?: defaultValue
      D. val result = value ?:? defaultValue

      Solution

      1. Step 1: Recall the correct Elvis operator syntax

        The Elvis operator is written as ?: without any extra characters or spaces.
      2. Step 2: Match the syntax with options

        val result = value ?: defaultValue uses ?: correctly between the variable and the default value.
      3. Final Answer:

        val result = value ?: defaultValue -> Option C
      4. Quick Check:

        Correct Elvis syntax = value ?: defaultValue [OK]
      Hint: Elvis operator is ?: exactly, no extra symbols [OK]
      Common Mistakes:
      • Using single question mark instead of ?:
      • Adding extra question marks
      • Swapping the order of symbols
      3. What will be the output of this Kotlin code?
      val name: String? = null
      val displayName = name ?: "Guest"
      println(displayName)
      medium
      A. null
      B. Guest
      C. name
      D. Compilation error

      Solution

      1. Step 1: Check the value of name

        The variable name is explicitly set to null.
      2. Step 2: Apply the Elvis operator

        Since name is null, displayName gets the default value "Guest".
      3. Final Answer:

        Guest -> Option B
      4. Quick Check:

        null ?: "Guest" = "Guest" [OK]
      Hint: If left is null, Elvis returns right side [OK]
      Common Mistakes:
      • Assuming it prints null
      • Thinking it prints variable name
      • Expecting a compile error
      4. Identify the error in this Kotlin code snippet using the Elvis operator:
      val input: String? = null
      val output = input ? "Default"
      medium
      A. Incorrect operator used; should be ?: instead of ?
      B. Missing right side value after Elvis operator
      C. Variable input cannot be nullable
      D. No error; code is correct

      Solution

      1. Step 1: Examine the operator used

        The code uses ? instead of the Elvis operator ?:.
      2. Step 2: Understand correct Elvis operator usage

        The Elvis operator must be ?: to provide a default value when the left side is null.
      3. Final Answer:

        Incorrect operator used; should be ?: instead of ? -> Option A
      4. Quick Check:

        Elvis operator must be ?: not ? [OK]
      Hint: Elvis operator always uses ?: not just ? [OK]
      Common Mistakes:
      • Using single question mark instead of Elvis operator
      • Forgetting the default value after ?:
      • Assuming nullable variables cause error here
      5. Given the following Kotlin code, what will be the value of finalScore?
      fun calculateScore(score: Int?): Int {
          return score ?: 0
      }
      
      val userScore: Int? = 5
      val finalScore = calculateScore(userScore ?: 10)
      hard
      A. 5
      B. 10
      C. 0
      D. Compilation error

      Solution

      1. Step 1: Evaluate the expression inside the function call

        The argument is userScore ?: 10. Since userScore is 5 (not null), the expression evaluates to 5.
      2. Step 2: Call calculateScore with 5

        The function returns the score if not null, so it returns 5.
      3. Final Answer:

        5 -> Option A
      4. Quick Check:

        userScore ?: 10 = 5, function returns 5 [OK]
      Hint: Elvis operator picks first non-null value [OK]
      Common Mistakes:
      • Thinking userScore ?: 10 returns 10
      • Confusing function return with argument default
      • Assuming null causes error here
      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