ここではfor文を使った繰り返し処理をおこなってみましょう。
while文と同様に、同じ処理や似た処理を繰り返しておこなわせることができます。
for と while は親戚みたいなものです。
動かしてみよう
では、サンプルコードを動かしてみましょう。
1〜入力値までの総和を出力するサンプルを用意しました。
入力欄に数字を入れて、実行ボタンを押してみてください。
(注:入力が 0 以下の時は正しく動きません。)
実行できましたか?
では続けて解説をおこないます。
解説
for文の基本構文は下記です。
for(初期化; 継続条件; カウンタ更新 ){ 処理 }
for() のカッコ内にセミコロン2つで区切った3つの式を書きます。
初期化は最初の一度だけ実施されます。主にカウンタの初期化に使います。
継続条件が成立している間、{ }カッコ内の処理を繰り返しおこないます。
{ }カッコの処理が終わる毎にカウンタ更新の処理をおこないます。
while文ではカウンタ変数を使って繰り返し処理をさせることをよくやりますが、それに必要な”カウンタ初期化””継続条件判定””カウンタ更新”の3点セットをまとめたものがfor文です。
ソースコードの見易さ向上だけでなく、処理の入れ忘れを防ぐ効果も期待できますので、使えるシーンでは使っていきましょう。
また、for文とwhile文はお互いに記述の置き換えが可能です。
以下のfor文とwhile文は同じ意味です。
/* for文 */ for(int count = 0; count < 10; count++ ) { 何らかの処理; } /* while文 */ int count = 0; while( count < 10 ) { 何らかの処理; count++; }
またfor文の()カッコ内の処理は不要な場合には省略もできます。
"初期化""継続条件""カウンタ更新" のそれぞれを省略可能です。
2つ同時に省略もできますし、3つ同時に省略もできます。
(その場合のソースコードは for( ; ; ){ } となり、無限ループとして動作します。)
下記に式を省略したfor文と、それと同等のwhile文の例を示します。
/* for文 */ for( ; count < 10; ) { 何らかの処理; } /* while文 */ while( count < 10 ) { 何らかの処理; }
ここまで省略するのであれば、for文ではなくwhile文を使った方がいいですね。
また省略時でも()カッコ内のセミコロン2つは必要ですので、記述を忘れないようにしましょう。
まとめ
まとめです。
- for で処理が繰り返せます。
- while で置き換えられます。
- for文内の初期化・条件判定・カウンタ処理は省略できます。
以上です。
ではまた。