Using Range Operator (..) and in Operator in Kotlin
📖 Scenario: You are organizing a small event and want to check if guests' ages fall within a certain age range for eligibility.
🎯 Goal: Build a Kotlin program that uses the range operator .. to create an age range and the in operator to check if a guest's age is within that range.
📋 What You'll Learn
Create an integer variable called guestAge with the value 25
Create a range called eligibleAgeRange from 18 to 30 using the .. operator
Use an if statement with the in operator to check if guestAge is in eligibleAgeRange
Print "Guest is eligible" if the age is in range, otherwise print "Guest is not eligible"
💡 Why This Matters
🌍 Real World
Checking if a person's age or a number falls within a valid range is common in forms, games, and eligibility checks.
💼 Career
Understanding ranges and membership tests is useful for data validation, filtering, and controlling program logic in many software development roles.
Progress0 / 4 steps
1
Create the guest age variable
Create an integer variable called guestAge and set it to 25.
Kotlin
Hint
Use val guestAge = 25 to create the variable.
2
Create the eligible age range
Create a range called eligibleAgeRange from 18 to 30 using the .. operator.
Kotlin
Hint
Use val eligibleAgeRange = 18..30 to create the range.
3
Check if guest age is in the eligible range
Use an if statement with the in operator to check if guestAge is in eligibleAgeRange. Inside the if, write println("Guest is eligible"). In the else block, write println("Guest is not eligible").
Kotlin
Hint
Use if (guestAge in eligibleAgeRange) to check the range.
4
Print the eligibility result
Run the program to print the eligibility message based on the guest's age.
Kotlin
Hint
Check the console output for the eligibility message.
Practice
(1/5)
1. What does the Kotlin expression 1..5 represent?
easy
A. An error because ranges need parentheses
B. A list containing numbers 1 and 5 only
C. A function that returns 1 or 5
D. A range of numbers from 1 to 5 inclusive
Solution
Step 1: Understand the range operator
The .. operator creates a range including both start and end values.
Step 2: Interpret 1..5
This means all numbers from 1 up to 5, including 1 and 5.
Final Answer:
A range of numbers from 1 to 5 inclusive -> Option D
Quick Check:
1..5 = numbers 1 to 5 [OK]
Hint: Remember: .. includes both ends in Kotlin ranges [OK]
Common Mistakes:
Thinking it creates a list instead of a range
Assuming it excludes the last number
Confusing it with a function call
2. Which of the following is the correct syntax to check if variable x is between 10 and 20 inclusive in Kotlin?
easy
A. if (x between 10 and 20) { }
B. if (x in 10..20) { }
C. if (10 <= x <= 20) { }
D. if (x inside 10..20) { }
Solution
Step 1: Recall Kotlin's in operator syntax
Kotlin uses in to check if a value is inside a range.
Step 2: Match syntax with options
Only if (x in 10..20) correctly uses in and the range operator ...
Final Answer:
if (x in 10..20) { } -> Option B
Quick Check:
Use in with .. for range checks [OK]
Hint: Use 'in' with '..' for range checks in Kotlin [OK]
Common Mistakes:
Using 'between' or 'inside' which are not Kotlin keywords
Trying chained comparisons like 10 <= x <= 20
Missing the range operator '..'
3. What is the output of this Kotlin code?
val x = 7
if (x in 1..5) println("Inside") else println("Outside")
medium
A. Outside
B. Compilation error
C. Inside
D. No output
Solution
Step 1: Understand the range check
The range 1..5 includes numbers 1, 2, 3, 4, 5.
Step 2: Check if x=7 is in the range
7 is not between 1 and 5, so the condition is false.
Final Answer:
Outside -> Option A
Quick Check:
7 not in 1..5 means print "Outside" [OK]
Hint: Check if value lies within range boundaries [OK]
Common Mistakes:
Assuming 7 is inside 1..5
Confusing inclusive ranges with exclusive
Expecting a syntax error
4. Identify the error in this Kotlin code snippet:
for (i in 1..5)
if (i in 3..1) println(i)
medium
A. The for loop syntax is incorrect
B. The range 3..1 is invalid because start is greater than end
C. No error, code runs fine
D. The if condition should use 'not in' instead of 'in'
Solution
Step 1: Analyze the range 3..1
In Kotlin, a range with start greater than end (3..1) creates an empty range, which is valid.
Step 2: Verify code execution
The for loop runs for i=1 to 5, but i in 3..1 is always false for any i, so nothing prints. No syntax or runtime errors occur.
Final Answer:
No error, code runs fine -> Option C
Quick Check:
Empty ranges (start > end) are valid in Kotlin [OK]
Hint: Ranges with start > end are empty but valid [OK]
Common Mistakes:
Thinking reversed ranges like 3..1 are invalid
Assuming the for loop syntax is wrong
Expecting a syntax error or crash with empty range
5. You want to print all even numbers between 2 and 10 inclusive using a Kotlin for loop and range. Which code snippet correctly does this?
hard
A. for (i in 2..10 step 2) println(i)
B. for (i in 2..10) if (i % 2 != 0) println(i)
C. for (i in 2 until 10 step 2) println(i)
D. for (i in 2..10 step 3) println(i)
Solution
Step 1: Understand the range and step usage
2..10 step 2 creates numbers 2, 4, 6, 8, 10.
Step 2: Check each option
for (i in 2..10 step 2) println(i) prints 2,4,6,8,10 directly. for (i in 2..10) if (i % 2 != 0) println(i) checks i % 2 != 0 and prints odds 3,5,7,9. for (i in 2 until 10 step 2) println(i) uses until excluding 10 (2,4,6,8). for (i in 2..10 step 3) println(i) steps by 3 (2,5,8).
Final Answer:
for (i in 2..10 step 2) println(i) -> Option A
Quick Check:
Use step 2 with inclusive range for even numbers [OK]
Hint: Use 'step 2' with '..' to get even numbers directly [OK]
Common Mistakes:
Using wrong modulo condition like % 2 != 0
Using 'until' which excludes the end value
Using wrong step size like 3
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.