Bird
Raised Fist0
Kotlinprogramming~5 mins

Val for immutable references in Kotlin - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does val mean in Kotlin?

val declares a read-only (immutable) reference. Once assigned, you cannot change what it points to.

Click to reveal answer
beginner
Can you reassign a new value to a val variable in Kotlin?

No, you cannot reassign a new value to a val variable. It is immutable after initialization.

Click to reveal answer
beginner
How is val different from var in Kotlin?

val is immutable (cannot be reassigned), while var is mutable (can be reassigned).

Click to reveal answer
beginner
Example: What happens if you try to reassign a val variable?
val x = 10
x = 20

This will cause a compile-time error because x is declared with val and cannot be reassigned.

Click to reveal answer
intermediate
Does val guarantee the object it points to is immutable?
<p>No, <code>val</code> only means the reference cannot change. The object itself can still be mutable if its class allows it.</p>
Click to reveal answer
What does val declare in Kotlin?
AA mutable reference
BA function
CAn immutable reference
DA class
Can you reassign a new value to a val variable after initialization?
ANo, never
BOnly inside functions
CYes, anytime
DOnly if it is a number
Which keyword allows reassignment in Kotlin?
Avar
Bval
Cconst
Dfun
If you declare val list = mutableListOf(1, 2, 3), can you add elements to list?
ANo, because list is immutable
BOnly if you reassign list
CNo, because val forbids any changes
DYes, because the object is mutable
What error occurs if you try to reassign a val variable?
ARuntime error
BCompile-time error
CNo error
DLogical error
Explain what val means in Kotlin and how it differs from var.
Think about whether you can change the variable after setting it.
You got /4 concepts.
    Describe a situation where using val is better than var.
    Consider when you want to protect data from accidental changes.
    You got /4 concepts.

      Practice

      (1/5)
      1. What does the val keyword do in Kotlin?
      easy
      A. Defines a class
      B. Creates an immutable reference that cannot be reassigned
      C. Declares a function
      D. Creates a mutable variable that can be reassigned

      Solution

      1. Step 1: Understand the role of val

        val declares a variable whose reference cannot be changed after assignment.
      2. Step 2: Compare with other keywords

        var allows reassignment, but val does not.
      3. Final Answer:

        Creates an immutable reference that cannot be reassigned -> Option B
      4. Quick Check:

        val = immutable reference [OK]
      Hint: Remember: val means fixed reference, var means changeable [OK]
      Common Mistakes:
      • Confusing val with var
      • Thinking val makes the object itself immutable
      • Assuming val declares a function or class
      2. Which of the following is the correct syntax to declare an immutable integer variable named count with value 10 in Kotlin?
      easy
      A. val count = 10
      B. var count = 10
      C. int val count = 10
      D. val count : Int =

      Solution

      1. Step 1: Identify correct keyword and syntax

        val is used for immutable variables, and Kotlin infers type if not specified.
      2. Step 2: Check each option

        var count = 10 uses var (mutable), C has invalid syntax, D is incomplete.
      3. Final Answer:

        val count = 10 -> Option A
      4. Quick Check:

        Immutable variable syntax = val count = 10 [OK]
      Hint: Use val for fixed values, var for changeable ones [OK]
      Common Mistakes:
      • Using var instead of val for immutable variables
      • Incorrect Kotlin type declarations
      • Leaving declarations incomplete
      3. What will be the output of the following Kotlin code?
      val list = mutableListOf(1, 2, 3)
      list.add(4)
      println(list)
      medium
      A. Runtime error
      B. [1, 2, 3]
      C. Compilation error
      D. [1, 2, 3, 4]

      Solution

      1. Step 1: Understand val with mutable objects

        val means the reference to the list cannot change, but the list itself can be modified.
      2. Step 2: Analyze code behavior

        Adding 4 to the mutable list changes its content, so printing shows [1, 2, 3, 4].
      3. Final Answer:

        [1, 2, 3, 4] -> Option D
      4. Quick Check:

        val reference + mutable object = modified list [OK]
      Hint: val fixes reference, not object content if mutable [OK]
      Common Mistakes:
      • Thinking val prevents modifying the list content
      • Expecting compilation or runtime errors
      • Confusing immutable reference with immutable object
      4. Identify the error in the following Kotlin code:
      val number = 5
      number = 10
      println(number)
      medium
      A. No error, prints 10
      B. Runtime error: reassignment not allowed
      C. Compilation error: val cannot be reassigned
      D. Syntax error: missing semicolon

      Solution

      1. Step 1: Check reassignment of val variable

        val variables cannot be reassigned after initialization.
      2. Step 2: Identify error type

        Trying to assign 10 to number causes a compilation error.
      3. Final Answer:

        Compilation error: val cannot be reassigned -> Option C
      4. Quick Check:

        val reassignment = compilation error [OK]
      Hint: val variables cannot change after first assignment [OK]
      Common Mistakes:
      • Assuming val variables can be reassigned
      • Confusing runtime errors with compile errors
      • Ignoring Kotlin's no-semicolon rule
      5. Given the following Kotlin code, what will be the output?
      val map = mutableMapOf("a" to 1, "b" to 2)
      map["a"] = 3
      println(map)

      Explain why this works even though map is declared with val.
      hard
      A. {a=3, b=2}
      B. {a=1, b=2}
      C. Compilation error: cannot modify val map
      D. Runtime error

      Solution

      1. Step 1: Understand val with mutable collections

        val means the reference to the map cannot change, but the map's content can be modified.
      2. Step 2: Analyze the map update

        Updating key "a" to 3 changes the map content, so printing shows {a=3, b=2}.
      3. Final Answer:

        {a=3, b=2} -> Option A
      4. Quick Check:

        val reference + mutable map = updated map content [OK]
      Hint: val fixes reference, mutable map content can change [OK]
      Common Mistakes:
      • Thinking val prevents modifying map content
      • Expecting compilation or runtime errors
      • Confusing immutable reference with immutable object
      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