welcome: please sign in
location: "break文"の差分
8と13のリビジョン間の差分 (その間の編集: 5回)
2008-12-09 13:55:30時点のリビジョン8
サイズ: 1980
編集者: masahiko
コメント:
2010-12-06 01:07:04時点のリビジョン13
サイズ: 1351
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 9: 行 9:
4行目の条件が成り立つときは行目のbreak文が実行され、その時点でforループを抜けます。 4行目の条件が成り立つときは行目のbreak文が実行され、その時点でforループを抜けます。
行 17: 行 17:
   ...
行 33: 行 32:
    ...
行 57: 行 55:
----
=== 問題 ===

[[attachment:Susi.java]]
行 63: 行 56:
 public class Susi  for(j = 0; j < n; j++)
行 65: 行 58:
  static String[] neta = {"たい", "まぐろ"};
  static int[] kosu = { 1, 3 };
  
  String aji;
  
  Susi(String a)
 loop2:
行 72: 行 60:
   int i;
   
  b1: {
    for (i = 0; i < neta.length; i++)
   for(i = 0; i < 10; i++)
   {
    ...
    if( ... )
行 77: 行 65:
     if (neta[i].equals(a))
     {
      if (kosu[i] > 0)
      {
       kosu[i]--;
       aji = a;
       System.out.println( aji + "おまち" );
      }
      break b1;
     }
     break loop2;
行 90: 行 69:
     public static void main(String[] args)
  {
   new Susi("たい");
   new Susi("まぐろ");
   new Susi("たい");
   new Susi("まぐろ");
   new Susi("たい");
   new Susi("まぐろ");
   new Susi("たい");
   new Susi("まぐろ");
  }

break文

break文は繰り返しを途中で抜けるのに使います。


10回繰り返すforループの内側で、 4行目の条件が成り立つときは6行目のbreak文が実行され、その時点でforループを抜けます。

  •    1  for(i = 0; i < 10; i++)
       2  {
       3         ...
       4         if( ... )
       5         {
       6                 break;
       7         }
       8  }
    

では2重ループの内側でbreak文を使うとどうなるでしょうか。

  •    1  for(j = 0; j < n; j++)
       2  {
       3         for(i = 0; i < 10; i++)
       4         {
       5                 ...
       6                 if( ... )
       7                 {
       8                         break;
       9                 }
      10         }
      11  }
    


ラベルのあるbreak文

ラベルのあるbreak文はラベルのあるブロックの中で使います。

ラベルのあるブロックの構文を示します。

  • break1.png

ラベルのあるbreak文の構文を示します。

  • break2.png

ラベルのあるbreak文が実行されると、そのラベルのつけられたブロックを抜けます。

  • break3.png

ラベルのあるbreak文を用いると2重ループ内で、内側のループだけを抜けることができます。

  •    1  for(j = 0; j < n; j++)
       2  {
       3  loop2:
       4         {
       5                 for(i = 0; i < 10; i++)
       6                 {
       7                         ...
       8                         if( ... )
       9                         {
      10                                 break loop2;
      11                         }
      12                 }
      13         }
      14  }
    

break文 (最終更新日時 2010-12-06 01:07:04 更新者 masahiko)