Bird
Raised Fist0
Javaprogramming~20 mins

Labeled break and continue in Java - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Labeled Loop Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
Output of labeled break in nested loops
What is the output of the following Java code using a labeled break?
Java
public class Test {
    public static void main(String[] args) {
        outer:
        for (int i = 1; i <= 3; i++) {
            for (int j = 1; j <= 3; j++) {
                if (i * j > 3) {
                    break outer;
                }
                System.out.print(i * j + " ");
            }
        }
    }
}
A1 2 3 2 4 6
B1 2 3
C1 2 3 2 4 6 3 6 9
D1 2 3 2
Attempts:
2 left
💡 Hint
The labeled break exits the outer loop immediately when the condition is met.
❓ Predict Output
intermediate
2:00remaining
Output of labeled continue in nested loops
What is the output of this Java code using a labeled continue?
Java
public class Test {
    public static void main(String[] args) {
        outer:
        for (int i = 1; i <= 2; i++) {
            for (int j = 1; j <= 3; j++) {
                if (j == 2) {
                    continue outer;
                }
                System.out.print(i * j + " ");
            }
        }
    }
}
A1 3 2 3
B1 2
C1 3 3 6
D1 3 2 4
Attempts:
2 left
💡 Hint
The labeled continue skips to the next iteration of the outer loop when j == 2, skipping the print for j=2 and remaining inner iterations.
🔧 Debug
advanced
2:00remaining
Identify error with labeled continue usage
What error does this Java code produce?
Java
public class Test {
    public static void main(String[] args) {
        outer:
        for (int i = 0; i < 3; i++) {
            if (i == 1) {
                continue outer;
            }
            System.out.print(i + " ");
        }
    }
}
AOutput: 0 2
BRuntime exception: Illegal continue label
COutput: 0 1 2
DCompile-time error: continue label not allowed here
Attempts:
2 left
💡 Hint
Labeled continue can be used within the body of its own labeled loop and acts like an unlabeled continue.
❓ Predict Output
advanced
2:00remaining
Output with nested loops and labeled continue
What is the output of this Java program using labeled continue inside nested loops?
Java
public class Test {
    public static void main(String[] args) {
        outer:
        for (int i = 1; i <= 3; i++) {
            inner:
            for (int j = 1; j <= 3; j++) {
                if (i == j) {
                    continue outer;
                }
                System.out.print(i + "-" + j + " ");
            }
        }
    }
}
A1-2 1-3 2-1 2-3 3-1 3-2
B1-2 1-3 2-1 2-3 3-1
C2-1 3-1 3-2
D1-2 1-3 2-1 3-1
Attempts:
2 left
💡 Hint
The continue outer skips the rest of the inner loop and continues the next iteration of the outer loop when i == j.
🧠 Conceptual
expert
2:00remaining
Effect of labeled break on loop variables
Consider the following Java code snippet. What is the final value of variable 'count' after execution?
Java
public class Test {
    public static void main(String[] args) {
        int count = 0;
        outer:
        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < 5; j++) {
                if (i + j > 5) {
                    break outer;
                }
                count++;
            }
        }
        System.out.println(count);
    }
}
A14
B21
C25
D10
Attempts:
2 left
💡 Hint
The labeled break exits both loops immediately when i + j > 5.

Practice

(1/5)
1. What does a labeled break statement do in Java nested loops?
easy
A. It skips the current iteration of the innermost loop.
B. It pauses the loop until a condition is met.
C. It restarts the innermost loop from the beginning.
D. It exits the loop identified by the label immediately.

Solution

  1. Step 1: Understand labeled break usage

    A labeled break exits the loop that has the specified label, not just the innermost loop.
  2. Step 2: Compare with normal break

    Normal break exits only the innermost loop, but labeled break can exit outer loops directly.
  3. Final Answer:

    It exits the loop identified by the label immediately. -> Option D
  4. Quick Check:

    Labeled break = exit labeled loop [OK]
Hint: Labeled break jumps out of the named loop instantly [OK]
Common Mistakes:
  • Confusing labeled break with continue
  • Thinking it only affects the innermost loop
  • Assuming it pauses instead of exits
2. Which of the following is the correct syntax for a labeled continue statement in Java?
easy
A. continue: labelName;
B. continue labelName;
C. continue (labelName);
D. continue->labelName;

Solution

  1. Step 1: Recall labeled continue syntax

    The correct syntax is the keyword continue followed by the label name and a semicolon.
  2. Step 2: Eliminate incorrect forms

    Java does not use colons, parentheses, or arrows with continue statements.
  3. Final Answer:

    continue labelName; -> Option B
  4. Quick Check:

    Correct labeled continue syntax = continue labelName; [OK]
Hint: Use 'continue' followed by label and semicolon [OK]
Common Mistakes:
  • Adding colon after continue
  • Using parentheses around label
  • Using arrow symbols instead of space
3. What is the output of the following Java code?
outer:
for (int i = 1; i <= 3; i++) {
    inner:
    for (int j = 1; j <= 3; j++) {
        if (j == 2) continue outer;
        System.out.print(i + "-" + j + " ");
    }
}
medium
A. 1-1 2-1 3-1 3-2
B. 1-1 1-2 1-3 2-1 2-2 2-3 3-1 3-2 3-3
C. 1-1 2-1 3-1
D. 1-1 2-1 2-2 3-1 3-2

Solution

  1. Step 1: Analyze loops and continue

    When j == 2, the statement continue outer; skips the rest of the current outer loop iteration and moves to the next i.
  2. Step 2: Trace output

    For i=1, j=1 prints "1-1 ". At j=2, continue outer skips to i=2. Similarly for i=2 and i=3, only j=1 prints.
  3. Final Answer:

    1-1 2-1 3-1 -> Option C
  4. Quick Check:

    Labeled continue skips to next outer loop iteration [OK]
Hint: Labeled continue skips to next iteration of labeled loop [OK]
Common Mistakes:
  • Thinking continue skips only inner loop
  • Expecting all inner loop values to print
  • Ignoring label effect on continue
4. Identify the error in this Java code snippet using labeled break:
outer:
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        if (i == j) break;
    }
}
medium
A. The label 'outer' is not used with break or continue.
B. The break statement should be 'break outer;' to use the label.
C. Labels cannot be used with for loops.
D. The code will cause a syntax error due to missing semicolon.

Solution

  1. Step 1: Check label usage

    The label 'outer' is declared but never referenced by break or continue statements.
  2. Step 2: Understand label necessity

    Labels must be used with break or continue to have effect; otherwise, they are redundant but not syntax errors.
  3. Final Answer:

    The label 'outer' is not used with break or continue. -> Option A
  4. Quick Check:

    Unused label = no effect but no syntax error [OK]
Hint: Use label only if break or continue references it [OK]
Common Mistakes:
  • Assuming unused label causes syntax error
  • Thinking break without label breaks outer loop
  • Confusing label usage rules
5. Given nested loops, how would you use labeled break and continue to print only pairs (i, j) where i < j, skipping all others efficiently? Choose the correct code snippet.
hard
A. outer: for (int i = 1; i <= 3; i++) { inner: for (int j = 1; j <= 3; j++) { if (i >= j) continue inner; System.out.print("(" + i + "," + j + ") "); } }
B. outer: for (int i = 1; i <= 3; i++) { inner: for (int j = 1; j <= 3; j++) { if (i >= j) break outer; System.out.print("(" + i + "," + j + ") "); } }
C. outer: for (int i = 1; i <= 3; i++) { inner: for (int j = 1; j <= 3; j++) { if (i >= j) continue outer; System.out.print("(" + i + "," + j + ") "); } }
D. outer: for (int i = 1; i <= 3; i++) { inner: for (int j = 1; j <= 3; j++) { if (i >= j) break inner; System.out.print("(" + i + "," + j + ") "); } }

Solution

  1. Step 1: Understand the condition and loops

    We want to print pairs where i < j only. If i >= j, skip to next j (inner loop iteration).
  2. Step 2: Analyze each option's control flow

    outer: for (int i = 1; i <= 3; i++) { inner: for (int j = 1; j <= 3; j++) { if (i >= j) continue inner; System.out.print("(" + i + "," + j + ") "); } } uses continue inner; to skip the current iteration and move to next j, efficiently skipping invalid pairs.
  3. Final Answer:

    Uses continue inner; to skip when i >= j. -> Option A
  4. Quick Check:

    Labeled continue to inner loop skips invalid pairs [OK]
Hint: Use 'continue inner;' to skip to next inner loop iteration [OK]
Common Mistakes:
  • Using break outer which stops all loops
  • Using continue outer which skips valid pairs as well
  • Using break inner which stops inner loop prematurely
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