Javaの制御構文 [繰り返し For While Do]
繰り返しとは、、
例えば数値を 1から 10まで表示させたいとします。もっとも単純な方法は 1から 10まで 10回表示させる命令を書く事ですが、これではあまりにも無駄が多すぎます。 10個程度ならまだましですが 100回や 1000回になってしまったら手におえません。 しかしこんな場合に繰り返し命令を使用するととても簡単な記述で済ませる事が可能になります。
繰り返し for ステートメント
Javaの繰り返し命令は次に説明する while文や do文もありますが、for文は最も柔軟といわれます。
|
[ 1〜10まで繰り返し表示する ]
System.out.println( i ) ;
}
この例ではカウンタに使用している変数 [ i ] の値を初期値 [ 1 ] に設定します。この初期化ブロックは、繰返しが開始される時に 1回だけ処理されます。
終了条件は変数 [ i ] が [ 10 ] 以下となっています。 なのでこの forループは、変数 [ i ] が [ 10 ] 以下の間にこの処理ブロックを繰り返し実行します。
カウンタとして使用されている 変数 [ i ] は増分値として [ i++ ] が指定されています。これは一回処理ブロックを通る度に [ i ] が [ +1 ] されるという意味です。もし 2ずつ増やしたい場合は、この部分を [ i+=2 ] とします。
Webページをスムーズに変更作り方
繰り返し while ステートメント
[ 表記法 ]
// 繰り返し行われる処理
}
|
[ フローチャート ]
[ 1〜100まで繰り返し表示する ]
while(100 > i++){
System.out.println( i );
}
繰り返し do ステートメント
[ 表記法 ]
|
[ フローチャート ]
[ 1〜100まで繰り返し表示する ]
do {
System.out.println( i );
i++;
} while( i <= 100 );
break / continue を使った繰り返し制御
break
多岐分岐命令 ( switch ) でも使用しましたが、break は繰り返しの途中でその繰り返しを強制的に抜ける命令です。switch命令の時も breakによってその処理ブロックを終了することによって以後の命令を実行しないように制御していましたが、繰り返しでも同様の事を行えます。
[ サンプル ]
while (true) {
System.out.println(i);
if ( i == 1 ) { break ; }
i++;
}
終了条件に真となる値を指定しているので、何もしなければこの繰り返しは永久ループなります。 しかし上記では i の値が 1 となった段階で breakによってこの while を抜ける事が出来ます。
continue
残りのコードをスキップして判断文に制御を移します。 break 命令が残りのコードをスキップして、さらにループ自体も抜けるのに対して、continue 命令は残りの処理ブロックはスキップしますがループ自体は抜けず、条件によってはまた繰り返しの処理ブロックが実行されます。
[ サンプル ]
if((i%2) == 0) continue;
System.out.println( i ) ;
}
上記では i を 2で割った余りが 0 であれば continueを実行します。 2で割った余りが 0 ということは偶数になりますので、偶数の際は以降のステートメントは実行せず、繰り返し条件の制御文に処理が移ります。
ネストする繰り返し
[ 三角を作成する ]
for(int c = 0; c < i; c++){
System.out.print("*");
}
System.out.print("¥n");
}
[ 実行結果 ]
*
**
***
****
*****
******
*******
********
*********
サンプルソースを見てみると一つ目の for文の中に入っている for文は一つ目の for文に比べて字下げされています。 これはインデントと呼びソースを見やすくするための書き方で、これなら for文の中にもうひとつ for文が記述されているというのが一目瞭然です。当然インデントしなくても処理自体は正常に動きますがソースの見易さとメンテナンスのし易さを考えて通常はこのような書き方をします。
0 コメント:
コメントを投稿