Loop execution flow in Java - Time & Space Complexity
Loops run code multiple times, so their speed depends on how many times they repeat.
We want to know how the total work grows as the loop runs more times.
Analyze the time complexity of the following code snippet.
for (int i = 0; i < n; i++) {
System.out.println(i);
}
This code prints numbers from 0 up to n-1, running the print statement once each loop.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: The print statement inside the for loop.
- How many times: Exactly n times, once per loop cycle.
As n gets bigger, the number of print actions grows the same way.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 prints |
| 100 | 100 prints |
| 1000 | 1000 prints |
Pattern observation: The work grows directly with n, so doubling n doubles the work.
Time Complexity: O(n)
This means the time to finish grows in a straight line with the number of loop cycles.
[X] Wrong: "The loop runs faster because it just prints simple numbers."
[OK] Correct: Even simple actions inside the loop add up, so the total time still grows with n.
Understanding how loops affect time helps you explain code speed clearly and confidently in interviews.
"What if we added a nested loop inside this loop? How would the time complexity change?"
Practice
for loop in Java primarily do?Solution
Step 1: Understand the purpose of a for loop and compare options
A for loop is designed to repeat a block of code multiple times based on a condition. Only "Repeats a block of code a specific number of times" correctly describes it.Final Answer:
Repeats a block of code a specific number of times -> Option CQuick Check:
for loop = repeat code [OK]
- Thinking for loops run only once
- Confusing loops with variable declarations
- Believing loops stop the program
while loop in Java?Solution
Step 1: Recall Java while loop syntax and check options
The correct syntax requires parentheses around the condition and braces for the code block. Only "while (condition) { // code }" matches:while (condition) { // code }.Final Answer:
while (condition) { // code } -> Option DQuick Check:
while loop syntax = parentheses + braces [OK]
- Omitting parentheses around condition
- Adding semicolon after while condition
- Using colon instead of parentheses
int count = 0;
while (count < 3) {
System.out.print(count + " ");
count++;
}Solution
Step 1: Analyze the loop condition and trace iterations
The loop runs while count is less than 3, starting from 0. It prints 0, then increments to 1; prints 1, increments to 2; prints 2, increments to 3; then stops because 3 is not less than 3.Final Answer:
0 1 2 -> Option AQuick Check:
Prints 0,1,2 then stops [OK]
- Including 3 in output
- Starting count from 1
- Printing in reverse order
int i = 0;
while (i < 5) {
System.out.println(i);
}Solution
Step 1: Check loop control variable and consequences
The variable i is initialized but never changed inside the loop. Without incrementing i, the condition i < 5 is always true, causing an infinite loop.Final Answer:
Missing increment of i inside the loop -> Option AQuick Check:
Loop needs variable update to stop [OK]
- Forgetting to increment loop variable
- Misplacing semicolons
- Declaring variable inside loop unnecessarily
int sum = 0;
for (int i = 1; i <= 5; i++) {
if (i == 3) continue;
sum += i;
}
System.out.println(sum);What is the output and why?
Solution
Step 1: Trace the loop and effect of continue
The loop runs from 1 to 5. When i equals 3, continue skips the addition for that iteration. Sum = 1 + 2 + 4 + 5 = 12 because 3 is skipped.Final Answer:
12 because number 3 is skipped in addition -> Option BQuick Check:
continue skips 3, sum = 12 [OK]
- Adding 3 despite continue
- Thinking continue causes error
- Summing only numbers less than 3
Ready to prove it?
Pass the test and this pattern moves unknown
