Java Tutorial Java Advanced Java References

Java - Label Statement



The label statement is used with break or continue statements. It is used to prefix a statement with an identifier which can be referred. A label can be specified by any name other than the reserved words in Java. The syntax for using label is given below:

Syntax

label :
  statements;

Label statement with Continue statement

A label is used to identify a loop, and then continue statement is used to indicate when to skip the current iteration.

public class MyClass {
  public static void main(String[] args) {
    loop1 :
    for (int i = 1; i <= 5; i++){
      if(i == 3)
        continue loop1;
      System.out.println("i = " + i);
    } 
  }
}

The output of the above code will be:

i = 1
i = 2
i = 4
i = 5

In the example below, label statement is used to skip the inner and outer loop respectively whenever the conditions are met.

public class MyClass {
  public static void main(String[] args) {

    System.out.println("#Skips the inner loop");
    loop1 :
    for (int i = 1; i <= 3; i++){
      loop2 :
      for (int j = 1; j <= 3; j++){
        if(i == 2 && j == 2)
          continue loop2; 
        System.out.println("i = " + i + ", j = " + j); 
      }
    }

    System.out.println("\n#Skips the outer loop");
    loop3 :
    for (int i = 1; i <= 3; i++){
      loop4 :
      for (int j = 1; j <= 3; j++){
        if(i == 2 && j == 2)
          continue loop3; 
        System.out.println("i = " + i + ", j = " + j); 
      }
    }
  }
}

The output of the above code will be:

#Skips the inner loop
i = 1, j = 1
i = 1, j = 2
i = 1, j = 3
i = 2, j = 1
i = 2, j = 3
i = 3, j = 1
i = 3, j = 2
i = 3, j = 3

#Skips the outer loop
i = 1, j = 1
i = 1, j = 2
i = 1, j = 3
i = 2, j = 1
i = 3, j = 1
i = 3, j = 2
i = 3, j = 3

Label statement with Break statement

A label is used to identify a loop, and then break statement is used to indicate when to get out of the loop.

public class MyClass {
  public static void main(String[] args) {
    loop1 :
    for (int i = 1; i <= 5; i++){
      if(i == 3)
        break loop1;
      System.out.println("i = " + i);
    } 
  }
}

The output of the above code will be:

i = 1
i = 2

In the example below, label statement is used to skip the inner and outer loop respectively whenever the conditions are met.

public class MyClass {
  public static void main(String[] args) {

    System.out.println("#Breaks from the inner loop");
    loop1 :
    for (int i = 1; i <= 3; i++){
      loop2 :
      for (int j = 1; j <= 3; j++){
        if(i == 2 && j == 2)
          break loop2; 
        System.out.println("i = " + i + ", j = " + j); 
      }
    }

    System.out.println("\n#Breaks from the outer loop");
    loop3 :
    for (int i = 1; i <= 3; i++){
      loop4 :
      for (int j = 1; j <= 3; j++){
        if(i == 2 && j == 2)
          break loop3; 
        System.out.println("i = " + i + ", j = " + j); 
      }
    }
  }
}

The output of the above code will be:

#Breaks from the inner loop
i = 1, j = 1
i = 1, j = 2
i = 1, j = 3
i = 2, j = 1
i = 3, j = 1
i = 3, j = 2
i = 3, j = 3

#Breaks from the outer loop
i = 1, j = 1
i = 1, j = 2
i = 1, j = 3
i = 2, j = 1