Bird
Raised Fist0
Javaprogramming~10 mins

Nested for loop in Java - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Nested for loop
Initialize outer i=0
↓
Check outer: i < 3?
No→EXIT
Yes↓
Initialize inner j=0
↓
Check inner: j < 2?
No→Increment outer i
Yes↓
Execute inner loop body
↓
Increment inner j
↩Back to inner check
The outer loop runs from i=0 to 2. For each i, the inner loop runs from j=0 to 1, executing its body each time.
Execution Sample
Java
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 2; j++) {
        System.out.println("i=" + i + ", j=" + j);
    }
}
Prints pairs of i and j values for nested loops where i goes 0 to 2 and j goes 0 to 1.
Execution Table
StepOuter iInner jCondition Outer (i<3)Condition Inner (j<2)ActionOutput
100truetruePrint i=0, j=0i=0, j=0
201truetruePrint i=0, j=1i=0, j=1
302truefalseInner loop ends, increment i
410truetruePrint i=1, j=0i=1, j=0
511truetruePrint i=1, j=1i=1, j=1
612truefalseInner loop ends, increment i
720truetruePrint i=2, j=0i=2, j=0
821truetruePrint i=2, j=1i=2, j=1
922truefalseInner loop ends, increment i
103-false-Outer loop ends
💡 Outer loop stops when i=3 because condition i<3 is false.
Variable Tracker
VariableStartAfter Step 1After Step 2After Step 3After Step 4After Step 5After Step 6After Step 7After Step 8After Step 9Final
i00011122233
j0120012012-
Key Moments - 3 Insights
Why does the inner loop reset j to 0 each time the outer loop increments i?
Because the inner loop initializes j=0 at the start of each outer loop iteration, as shown in execution_table steps 3 to 4 and 6 to 7.
Why does the outer loop increment only after the inner loop finishes all its iterations?
The outer loop waits for the inner loop to complete (j reaches 2 and condition j<2 is false) before incrementing i, as seen in steps 3, 6, and 9.
What causes the entire nested loop to stop running?
When the outer loop variable i reaches 3, the condition i<3 becomes false (step 10), so the loops stop.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the value of j at Step 5?
A0
B1
C2
D-
💡 Hint
Check the 'Inner j' column at Step 5 in the execution_table.
At which step does the outer loop variable i first become 2?
AStep 7
BStep 6
CStep 3
DStep 9
💡 Hint
Look at the 'Outer i' column in execution_table to find when i changes to 2.
If the inner loop condition changed to j < 3, how many total print outputs would there be?
A12
B6
C9
D3
💡 Hint
Currently, inner loop runs 2 times per outer loop iteration; increasing to 3 means 3 * 3 = 9 prints.
Concept Snapshot
Nested for loop syntax:
for (int i = 0; i < N; i++) {
  for (int j = 0; j < M; j++) {
    // code using i and j
  }
}
Outer loop runs fully for each i, inner loop runs fully for each j per i.
Inner loop resets each outer iteration.
Full Transcript
This example shows a nested for loop in Java where the outer loop variable i runs from 0 to 2, and for each i, the inner loop variable j runs from 0 to 1. Each step prints the current values of i and j. The inner loop resets j to 0 every time the outer loop increments i. The loops stop when i reaches 3, making the outer loop condition false. The execution table traces each step, showing variable values and actions. Key moments clarify why inner loop resets and when loops end. The quiz tests understanding of variable values at specific steps and effects of changing loop conditions.

Practice

(1/5)
1. What does a nested for loop in Java do?
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
// code
}
}
easy
A. Runs one loop inside another to repeat code multiple times
B. Runs two loops one after another sequentially
C. Runs only the inner loop multiple times
D. Runs only the outer loop once

Solution

  1. Step 1: Analyze nested loop iterations

    The outer loop runs 3 times, and for each outer loop iteration, the inner loop runs 2 times.
  2. Step 2: Explain the repetition behavior

    This means the inner loop runs fully inside each outer loop iteration, repeating code multiple times in total.
  3. Final Answer:

    Runs one loop inside another to repeat code multiple times -> Option A
  4. Quick Check:

    Nested loops = inner loop inside outer loop [OK]
Hint: Nested loops repeat inner loop fully for each outer loop [OK]
Common Mistakes:
  • Thinking loops run sequentially, not nested
  • Confusing inner and outer loop counts
  • Assuming only one loop runs multiple times
2. Which of the following is the correct syntax for a nested for loop in Java?
easy
A. for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) System.out.println(i + j); }
B. for int i = 0; i < 3; i++ { for int j = 0; j < 2; j++ { System.out.println(i + j); } }
C. for (int i = 0; i < 3; i++) for (int j = 0; j < 2; j++ { System.out.println(i + j); }
D. for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) System.out.println(i + j); } else {}

Solution

  1. Step 1: Verify Java for loop syntax requirements

    Java for loops require parentheses around initialization, condition, and increment, and braces for blocks.
  2. Step 2: Identify correct nested loop syntax

    for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) System.out.println(i + j); } correctly uses braces for outer loop without extra invalid keywords or else blocks.
  3. Final Answer:

    for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) System.out.println(i + j); } -> Option A
  4. Quick Check:

    Correct Java syntax = for (int i = 0; i < 3; i++) { for (int j = 0; j < 2; j++) System.out.println(i + j); } [OK]
Hint: Remember Java for loop needs parentheses and braces [OK]
Common Mistakes:
  • Missing parentheses around for loop conditions
  • Using else after for loop incorrectly
  • Omitting braces for multiple statements
3. What is the output of this Java code?
for (int i = 1; i <= 2; i++) {
for (int j = 1; j <= 3; j++) {
System.out.print(i * j + " ");
}
System.out.println();
}
medium
A. 2 4 6 4 8 12
B. 1 2 3 4 5 6
C. 1 2 3 1 2 3
D. 1 2 3 2 4 6

Solution

  1. Step 1: Trace outer loop iterations

    Outer loop runs i=1 and i=2.
  2. Step 2: Calculate inner loop outputs for each i

    For i=1: j=1,2,3 outputs 1*1=1, 1*2=2, 1*3=3.
    For i=2: j=1,2,3 outputs 2*1=2, 2*2=4, 2*3=6.
  3. Final Answer:

    1 2 3 2 4 6 -> Option D
  4. Quick Check:

    Multiply i and j in nested loops = 1 2 3 2 4 6 [OK]
Hint: Multiply outer and inner loop variables for output [OK]
Common Mistakes:
  • Ignoring new line after inner loop
  • Concatenating all numbers in one line
  • Mixing up i and j values
4. Find the error in this nested for loop code:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++)
System.out.println(i + j);
}
}
medium
A. Missing semicolon after inner loop
B. Inner loop condition should be j <= 3
C. Extra closing brace '}' after inner loop
D. Outer loop variable i is not initialized

Solution

  1. Step 1: Check braces matching

    The inner loop lacks braces but has an extra closing brace '}' after it, causing syntax error.
  2. Step 2: Identify correct brace placement

    Remove the extra '}' after inner loop or add braces properly to fix syntax.
  3. Final Answer:

    Extra closing brace '}' after inner loop -> Option C
  4. Quick Check:

    Brace mismatch error = Extra closing brace '}' after inner loop [OK]
Hint: Match opening and closing braces carefully [OK]
Common Mistakes:
  • Adding extra braces after loops
  • Omitting braces for multiple statements
  • Incorrect loop conditions
5. How can you use nested for loops to print a 4x4 multiplication table in Java?
hard
A. Use a single loop from 1 to 16 and print i * i
B. Use outer loop for rows 1 to 4 and inner loop for columns 1 to 4, print product
C. Use nested loops but print only the outer loop variable
D. Use nested loops but skip printing inside inner loop

Solution

  1. Step 1: Set outer loop for rows 1 to 4

    The outer loop controls the row number from 1 to 4.
  2. Step 2: Set inner loop for columns 1 to 4 and print product

    The inner loop runs columns 1 to 4, printing the product of row and column numbers to form the table.
  3. Final Answer:

    Use outer loop for rows 1 to 4 and inner loop for columns 1 to 4, print product -> Option B
  4. Quick Check:

    Nested loops for rows and columns = Use outer loop for rows 1 to 4 and inner loop for columns 1 to 4, print product [OK]
Hint: Outer loop rows, inner loop columns, print product [OK]
Common Mistakes:
  • Using single loop for 2D table
  • Not printing product of both loop variables
  • Skipping inner loop printing
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