繰り返しの中断

break文とcontinue文

break

繰り返しの判断は繰り返しブロックの始めか終わりで行うことになっていますが、繰り返しの途中でも判断をして中断させる必要がでてくることがあります。このようなとき、break を使います。

次の例では基本的に x が1000未満のうちは処理を繰り返しますが、if ( y > 2000 ) の箇所で y の値をチェックして、2000よりも大きくなっていたら、すぐに繰り返しを中止して、繰り返しのブロックの後にある処理に進みます。つまり、この例では System.out.println を実行します。

hoge:
while ( x < 1000 ){
while ( x < 1000 ){
    ‥‥‥‥‥
    ‥‥‥‥‥‥‥‥
    ‥‥‥‥‥‥‥
    ‥‥‥‥‥
    if ( y > 2000 ) break hoge;
    ‥‥‥‥‥‥‥
    ‥‥‥‥‥‥
}
}
System.out.println( "----------" );

continue

次の例では基本的に i が 1 から 100 まで処理を繰り返しますが、if ( y > 2000 ) の箇所で y の値をチェックして、2000よりも大きくなっていたら、その後の部分をとばして、for のブロックの最後にすすみ、for の続きをします。つまり、この例で i が 32 の時に y が2000より大きければ x = y; のある部分(青い部分)をとばして i を33とし、for の続きをします。

hoge:
for ( int i=1; i < 100 ; i++ ){
for ( int i=1; i < 100 ; i++ ){
    ‥‥‥‥‥
    ‥‥‥‥‥‥‥‥
    ‥‥‥‥‥‥‥
    ‥‥‥‥‥
    if ( y > 2000 ) continue hoge;
    ‥‥‥‥‥‥‥
    x = y;
    ‥‥‥‥‥‥
}
}

課題

1.

ファイル名 Cont4.java

public class Cont4 {
    public static void main( String[] args ) {
       int n = 100;
       int lmt = 50*50;
       int ct = 0;
       //hoge:
       for( int line=1; line<=n; line++ ) {
           for( int colm=1; colm<=n; colm++ ) {
              if (line*colm>lmt) continue;
                 ct++;
             }
        }
       System.out.println(ct); 
    } 
}

Javaプログラミング
聖愛中学高等学校
http://www.seiai.ed.jp/
Jun.2011