Javaにはラベル無しのbreak文とラベル有りのbreak文がある。

ラベル無しのbreakは、break文を含むもっとも内側の制御文(for、while、do while、switch)を抜け出して終了する。

package com.fc2web.itref;

public class Sample
{
  public static void main(String[] args)
  {
    int i, j = 0;

    for (i = 0; i < 10; i++)
    {
      for (j = 0; j < 10; j++)
      {
        if (5 == j)
        {
          break;
        }
      }
    }
    System.out.println("i = " + i + ", j = " + j);
  }
}

上記プログラムの実行結果を示す。

i = 10, j = 5

ラベル有りのbreak文は、ラベルを付けた制御文を抜けることができる。

package com.fc2web.itref;

public class Sample
{
  public static void main(String[] args)
  {
    int i, j = 0;

    outside: for (i = 0; i < 10; i++)
    {
      for (j = 0; j < 10; j++)
      {
        if (5 == j)
        {
          break outside;
        }
      }
    }
    System.out.println("i = " + i + ", j = " + j);
  }
}

上記プログラムの実行結果を示す。

i = 0, j = 5

関連記事