welcome: please sign in
location: "break文"の差分
9と10のリビジョン間の差分
2008-12-09 13:57:16時点のリビジョン9
サイズ: 2069
編集者: masahiko
コメント:
2009-11-20 06:28:31時点のリビジョン10
サイズ: 1199
編集者: masahiko
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 56: 行 56:

----
=== 問題 ===

このプログラムをダウンロードし、指示に従って修正しなさい。
[[attachment:Susi.java]]

 {{{#!java
 public class Susi
 {
  static String[] neta = {"たい", "まぐろ"};
  static int[] kosu = { 1, 3 };
  
  String aji;
  
  Susi(String a)
  {
   int i;
   
  b1: {
    for (i = 0; i < neta.length; i++)
    {
     if (neta[i].equals(a))
     {
      if (kosu[i] > 0)
      {
       kosu[i]--;
       aji = a;
       System.out.println( aji + "おまち" );
      }
      break b1;
     }
    }
   }
  }
  
  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行目の条件が成り立つときは7行目のbreak文が実行され、その時点でforループを抜けます。

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

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

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


ラベルのあるbreak文

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

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

  • break1.png

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

  • break2.png

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

  • break3.png

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

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