Bird
Raised Fist0
Kotlinprogramming~10 mins

Var for mutable references in Kotlin - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Var for mutable references
Declare var x = 5
↓
x holds value 5
↓
Change x = 10
↓
x now holds value 10
↓
Use x in expressions
↓
Program continues
This flow shows how a variable declared with var can be changed to hold different values during program execution.
Execution Sample
Kotlin
var x = 5
println(x)
x = 10
println(x)
This code declares a mutable variable x, prints its initial value, changes it, then prints the new value.
Execution Table
StepActionVariable xOutput
1Declare var x = 55
2Print x55
3Assign x = 1010
4Print x1010
5End of program10
💡 Program ends after printing updated value of x
Variable Tracker
VariableStartAfter Step 1After Step 3Final
xundefined51010
Key Moments - 2 Insights
Why can we change the value of x after declaring it with var?
Because var declares a mutable variable, so its value can be updated as shown in steps 1 and 3 of the execution_table.
What would happen if x was declared with val instead of var?
Declaring x with val makes it immutable, so trying to assign a new value like in step 3 would cause a compile error.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the value of x after step 3?
A5
Bundefined
C10
DError
💡 Hint
Check the 'Variable x' column at step 3 in the execution_table.
At which step is the first output produced?
AStep 2
BStep 1
CStep 3
DStep 4
💡 Hint
Look at the 'Output' column in the execution_table to find when output first appears.
If we change var x = 5 to val x = 5, what happens at step 3?
Ax changes to 10
BCompile error
Cx remains 5 silently
DRuntime error
💡 Hint
Recall that val means immutable; reassigning causes a compile error.
Concept Snapshot
var declares a mutable variable in Kotlin
You can change its value anytime after declaration
Use var when you need to update the variable
val declares an immutable variable (cannot change)
Changing a var variable updates its stored value
Printing shows current value at that moment
Full Transcript
This example shows how to use var in Kotlin to create a mutable variable named x. Initially, x is set to 5. When we print x, it outputs 5. Then we change x to 10. Printing x again outputs 10. The key point is that var allows the variable to be changed after it is declared. If we used val instead, trying to change x would cause an error. The execution table tracks each step, showing the value of x and any output. The variable tracker shows how x changes from undefined to 5, then to 10. This helps beginners see how mutable variables work in Kotlin.

Practice

(1/5)
1. What does the var keyword do in Kotlin?
easy
A. Declares a class
B. Creates a constant value that cannot be changed
C. Creates a variable whose value can be changed later
D. Defines a function

Solution

  1. Step 1: Understand the role of var

    The var keyword declares a variable that can be changed after it is created.
  2. Step 2: Compare with other keywords

    val creates a constant (unchangeable) variable, so var is for mutable variables.
  3. Final Answer:

    Creates a variable whose value can be changed later -> Option C
  4. Quick Check:

    var means mutable variable [OK]
Hint: Remember: var = variable that can vary [OK]
Common Mistakes:
  • Confusing var with val (immutable)
  • Thinking var declares constants
  • Mixing var with function or class declarations
2. Which of the following is the correct way to declare a mutable integer variable named count with initial value 10 in Kotlin?
easy
A. val count: Int = 10
B. val count = 10
C. var count: Int
D. var count = 10

Solution

  1. Step 1: Identify mutable variable declaration

    To declare a mutable variable, use var with an initial value.
  2. Step 2: Check syntax correctness

    var count = 10 correctly declares a mutable integer variable with initial value 10.
  3. Final Answer:

    var count = 10 -> Option D
  4. Quick Check:

    Mutable variable needs var and initial value [OK]
Hint: Use var with initial value for mutable variables [OK]
Common Mistakes:
  • Using val instead of var for mutable variables
  • Declaring var without initial value or type
  • Confusing val and var syntax
3. What will be the output of this Kotlin code?
var x = 5
x = 10
println(x)
medium
A. 10
B. Compilation error
C. 5
D. Runtime error

Solution

  1. Step 1: Understand variable assignment

    Variable x is declared mutable with initial value 5, then changed to 10.
  2. Step 2: Print the current value of x

    The print statement outputs the updated value 10.
  3. Final Answer:

    10 -> Option A
  4. Quick Check:

    Mutable var allows reassignment, so output is 10 [OK]
Hint: var lets you change value; print latest value [OK]
Common Mistakes:
  • Thinking var variables cannot be reassigned
  • Expecting initial value to print
  • Confusing compilation and runtime errors
4. Identify the error in this Kotlin code snippet:
var name: String
name = "Alice"
name = 123
medium
A. Variable name must be declared with val
B. Cannot assign a number to a String variable
C. Missing initial value for var
D. Syntax error in variable declaration

Solution

  1. Step 1: Check variable type and assignments

    Variable name is declared as String, assigned "Alice" (valid), then assigned 123 (number).
  2. Step 2: Identify type mismatch error

    Assigning an integer to a String variable causes a type error.
  3. Final Answer:

    Cannot assign a number to a String variable -> Option B
  4. Quick Check:

    Type mismatch causes error [OK]
Hint: Check variable type before assigning new value [OK]
Common Mistakes:
  • Ignoring type mismatch errors
  • Thinking var requires initial value always
  • Confusing val and var usage
5. You want to keep track of a user's score that changes during the game. Which Kotlin code correctly declares and updates this score using var?
hard
A. var score = 0 score = score + 10 println(score)
B. val score = 0 score = score + 10 println(score)
C. var score: Int println(score)
D. val score: Int = 0 score += 10 println(score)

Solution

  1. Step 1: Declare a mutable variable with initial value

    Use var score = 0 to allow changes to score.
  2. Step 2: Update the score correctly

    Adding 10 to score with score = score + 10 works because score is mutable.
  3. Final Answer:

    var score = 0 score = score + 10 println(score) -> Option A
  4. Quick Check:

    Mutable var allows updating score [OK]
Hint: Use var for values that change, val for constants [OK]
Common Mistakes:
  • Using val for variables that need updating
  • Declaring var without initial value and using before assignment
  • Trying to update val variables causing errors
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