📖 Scenario: You work at a small bookstore. You have a list of book titles that you want to display one by one to your customers.
🎯 Goal: Learn how to use a for loop in Kotlin to go through each item in a list and print it.
📋 What You'll Learn
Create a list of book titles with exact values
Create a variable to count the number of books
Use a for loop with variable book to iterate over the list
Print each book title inside the loop
Print the total number of books after the loop
💡 Why This Matters
🌍 Real World
Bookstores and libraries often need to show lists of books to customers or users. Looping through collections helps display or process each item easily.
💼 Career
Knowing how to loop over collections is a basic skill for any programmer. It helps in tasks like processing data, generating reports, or building user interfaces.
Progress0 / 4 steps
1
Create a list of book titles
Create a list called books with these exact titles: "The Hobbit", "1984", "Pride and Prejudice", "To Kill a Mockingbird".
Kotlin
Hint
Use val books = listOf(...) to create the list with the exact book titles.
2
Create a counter variable
Create a variable called count and set it to 0 to count the number of books.
Kotlin
Hint
Use var count = 0 to create a variable that can change.
3
Use a for loop to print each book
Use a for loop with variable book to go through each item in books. Inside the loop, print the book and increase count by 1.
Kotlin
Hint
Use for (book in books) { ... } to loop. Use println(book) to print each title. Use count++ to add one to count.
4
Print the total number of books
After the loop, print the text Total books: followed by the value of count using a Kotlin println statement with string interpolation.
Kotlin
Hint
Use println("Total books: $count") to show the total count after the loop.
Practice
(1/5)
1. What does a for loop do when used with a collection in Kotlin?
easy
A. It sorts the collection automatically.
B. It creates a new collection from the existing one.
C. It removes items from the collection one by one.
D. It repeats a block of code for each item in the collection.
Solution
Step 1: Understand the purpose of a for loop
A for loop runs code repeatedly for each element in a collection like a list or array.
Step 2: Identify what happens in the loop
Each item is accessed one by one, and the code inside the loop runs for each item.
Final Answer:
It repeats a block of code for each item in the collection. -> Option D
Quick Check:
For loop = repeat for each item [OK]
Hint: For loops run code once per item in a collection [OK]
Common Mistakes:
Thinking for loop creates or removes items
Confusing for loop with sorting or filtering
Believing for loop runs only once
2. Which of the following is the correct syntax for a for loop over a list named items in Kotlin?
easy
A. for item in items { println(item) }
B. for (item in items) { println(item) }
C. for item : items { println(item) }
D. for (item : items) println(item)
Solution
Step 1: Recall Kotlin for loop syntax
Kotlin requires parentheses around the loop variable and collection: for (item in items) { ... }
Step 2: Check each option
for (item in items) { println(item) } matches the correct syntax with parentheses and braces.
Final Answer:
for (item in items) { println(item) } -> Option B
Quick Check:
Parentheses + in keyword = correct syntax [OK]
Hint: Use parentheses and 'in' keyword in Kotlin for loops [OK]
Common Mistakes:
Omitting parentheses around loop header
Using colon ':' instead of 'in'
Missing braces for loop body
3. What is the output of this Kotlin code?
val numbers = listOf(1, 2, 3)
for (num in numbers) {
print(num * 2)
}
medium
A. 246
B. 123
C. 6
D. Error
Solution
Step 1: Understand the loop and list
The list contains 1, 2, 3. The loop goes through each number.
Step 2: Calculate output for each iteration
Each number is multiplied by 2 and printed without spaces: 1*2=2, 2*2=4, 3*2=6, so output is "246".
Final Answer:
246 -> Option A
Quick Check:
Print doubles of 1,2,3 = 246 [OK]
Hint: Multiply and print each item in order [OK]
Common Mistakes:
Assuming print adds spaces or newlines
Confusing multiplication with addition
Expecting a list output instead of concatenated string
4. Identify the error in this Kotlin code snippet:
val fruits = listOf("apple", "banana", "cherry")
for fruit in fruits {
println(fruit)
}
medium
A. Missing parentheses around loop header
B. Using wrong collection type
C. Incorrect print statement
D. No error, code is correct
Solution
Step 1: Check for correct for loop syntax
Kotlin requires parentheses around the loop header: for (fruit in fruits) { ... }
Step 2: Identify the missing parentheses
The code misses parentheses around 'fruit in fruits', causing a syntax error.
Final Answer:
Missing parentheses around loop header -> Option A
Quick Check:
Parentheses required in Kotlin for loops [OK]
Hint: Always put parentheses around for loop header [OK]
Common Mistakes:
Omitting parentheses in for loop
Using wrong loop variable syntax
Assuming print statement causes error
5. Given a list of names, how would you use a Kotlin for loop to print only names longer than 4 characters?
Choose the correct code snippet.
hard
A. for (name in names) { println(name.length) > 4 }
B. for (name in names) println(name.length > 4)
C. for (name in names) { if (name.length > 4) println(name) }
D. for (name in names) { if (name > 4) println(name) }
Solution
Step 1: Understand the condition to filter names
We want to print names only if their length is greater than 4 characters.
Step 2: Check each option for correct syntax and logic
for (name in names) { if (name.length > 4) println(name) } correctly uses an if statement inside the loop to check length and print the name.
Final Answer:
for (name in names) { if (name.length > 4) println(name) } -> Option C
Quick Check:
Use if inside for to filter by length [OK]
Hint: Use if condition inside for loop to filter items [OK]
Common Mistakes:
Comparing string directly to number
Printing boolean instead of name
Incorrect syntax in if or print statements
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.