Using <code>var</code> for Mutable References in Kotlin
📖 Scenario: Imagine you are managing a simple inventory system for a small store. You want to keep track of the number of items available and update this number as items are sold or restocked.
🎯 Goal: You will create a mutable variable using var in Kotlin to hold the inventory count. Then, you will update this count to reflect sales and restocking.
📋 What You'll Learn
Create a mutable variable called inventoryCount with an initial value of 50.
Create a variable called soldItems with the value 5.
Update inventoryCount by subtracting soldItems.
Print the updated inventoryCount.
Create a variable called restockedItems with the value 10.
Update inventoryCount by adding restockedItems.
Print the final inventoryCount.
💡 Why This Matters
🌍 Real World
Managing inventory counts is a common task in stores, warehouses, and online shops. Using mutable variables helps keep track of changing stock levels.
💼 Career
Understanding mutable variables is essential for any Kotlin developer working on apps that handle data changes, such as inventory systems, games, or user settings.
Progress0 / 4 steps
1
Create a mutable variable for inventory count
Create a mutable variable called inventoryCount and set it to 50.
Kotlin
Hint
Use var to create a variable that can change later.
2
Create a variable for sold items
Create a variable called soldItems and set it to 5.
Kotlin
Hint
Use val for values that do not change.
3
Update inventory after sales
Update inventoryCount by subtracting soldItems using inventoryCount = inventoryCount - soldItems.
Kotlin
Hint
Assign the new value back to inventoryCount after subtracting.
4
Print updated inventory and restock
Print the current inventoryCount. Then create a variable called restockedItems with value 10, update inventoryCount by adding restockedItems, and print the final inventoryCount.
Kotlin
Hint
Use println() to show the values. Remember to update inventoryCount after restocking.
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
Step 1: Understand the role of var
The var keyword declares a variable that can be changed after it is created.
Step 2: Compare with other keywords
val creates a constant (unchangeable) variable, so var is for mutable variables.
Final Answer:
Creates a variable whose value can be changed later -> Option C
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
Step 1: Identify mutable variable declaration
To declare a mutable variable, use var with an initial value.
Step 2: Check syntax correctness
var count = 10 correctly declares a mutable integer variable with initial value 10.
Final Answer:
var count = 10 -> Option D
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
Step 1: Understand variable assignment
Variable x is declared mutable with initial value 5, then changed to 10.
Step 2: Print the current value of x
The print statement outputs the updated value 10.
Final Answer:
10 -> Option A
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
Step 1: Check variable type and assignments
Variable name is declared as String, assigned "Alice" (valid), then assigned 123 (number).
Step 2: Identify type mismatch error
Assigning an integer to a String variable causes a type error.
Final Answer:
Cannot assign a number to a String variable -> Option B
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
Step 1: Declare a mutable variable with initial value
Use var score = 0 to allow changes to score.
Step 2: Update the score correctly
Adding 10 to score with score = score + 10 works because score is mutable.
Final Answer:
var score = 0
score = score + 10
println(score) -> Option A
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 unknownstrongwhile earning +1 Grip toward your certificate.