Bird
Raised Fist0
Kotlinprogramming~10 mins

Range operator (..) and in operator in Kotlin - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Range operator (..) and in operator
Start
↓
Create range with ..
↓
Use in operator to check membership
↓
If true -> Execute block
↓
If false -> Skip block
↓
End
Create a range using .., then check if a value is inside it using in operator, and run code accordingly.
Execution Sample
Kotlin
val range = 1..5
val x = 3
if (x in range) {
    println("x is in range")
} else {
    println("x is not in range")
}
Check if x is inside the range from 1 to 5 and print a message.
Execution Table
StepActionExpressionResultOutput
1Create range1..5Range from 1 to 5
2Assign xx = 3x = 3
3Check if x in range3 in 1..5true
4If true, printprintln("x is in range")x is in range
5End---
💡 Checked x in range, condition true, printed message, program ends.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3Final
range-1..51..51..51..5
x--333
Key Moments - 2 Insights
Why does 'x in range' return true when x equals 3?
Because the range 1..5 includes all numbers from 1 to 5, and 3 is inside that range as shown in execution_table step 3.
What happens if x is 6 instead of 3?
The condition 'x in range' would be false, so the else block would run, printing 'x is not in range'. This is similar to execution_table step 3 but with false result.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of 'range' after step 1?
A1..5
B3
Ctrue
Dx
💡 Hint
Check the 'Result' column in row with Step 1 in execution_table.
At which step does the program print 'x is in range'?
AStep 2
BStep 3
CStep 4
DStep 5
💡 Hint
Look at the 'Output' column in execution_table to find when the message appears.
If x was 0, what would be the result of 'x in range' at step 3?
Atrue
Bfalse
Cerror
Dnull
💡 Hint
Refer to variable_tracker and execution_table step 3 logic about range membership.
Concept Snapshot
Range operator (..) creates a range from start to end inclusive.
Use 'in' operator to check if a value is inside the range.
Example: val r = 1..5; if (x in r) { ... }
'..' includes both ends.
'in' returns true if value is inside range, false otherwise.
Full Transcript
This example shows how to create a range using the .. operator in Kotlin, which includes all numbers from the start to the end value. We assign x the value 3 and then check if x is inside the range using the in operator. Since 3 is between 1 and 5, the condition is true and the program prints 'x is in range'. The execution table traces each step: creating the range, assigning x, checking membership, printing output, and ending. The variable tracker shows how 'range' and 'x' change during execution. Key moments clarify why the condition is true and what happens if x is outside the range. The quiz tests understanding of the range value, when output occurs, and behavior with different x values.

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

  1. Step 1: Understand the range operator

    The .. operator creates a range including both start and end values.
  2. Step 2: Interpret 1..5

    This means all numbers from 1 up to 5, including 1 and 5.
  3. Final Answer:

    A range of numbers from 1 to 5 inclusive -> Option D
  4. 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

  1. Step 1: Recall Kotlin's in operator syntax

    Kotlin uses in to check if a value is inside a range.
  2. Step 2: Match syntax with options

    Only if (x in 10..20) correctly uses in and the range operator ...
  3. Final Answer:

    if (x in 10..20) { } -> Option B
  4. 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

  1. Step 1: Understand the range check

    The range 1..5 includes numbers 1, 2, 3, 4, 5.
  2. Step 2: Check if x=7 is in the range

    7 is not between 1 and 5, so the condition is false.
  3. Final Answer:

    Outside -> Option A
  4. 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

  1. 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.
  2. 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.
  3. Final Answer:

    No error, code runs fine -> Option C
  4. 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

  1. Step 1: Understand the range and step usage

    2..10 step 2 creates numbers 2, 4, 6, 8, 10.
  2. 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).
  3. Final Answer:

    for (i in 2..10 step 2) println(i) -> Option A
  4. 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 unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard