ここでは continue を使ってみましょう。
前回までで、while文やfor文について学びました。
continue を用いることで、while や for の処理をスキップさせることができるようになり、色々と凝った処理ができるようになります。
動かしてみよう
では、まずはサンプルコードを動かしてみましょう。
for文の時に、1〜入力値までの総和を求めるサンプルを使いましたが、ここではそれをアレンジして、1〜入力値までの奇数の総和を求めてみましょう。
入力欄に数字をいれて、実行ボタンを押してください。
実行できましたか?
1+3 = 4
1+3+5 = 9
といったように、奇数の総和の算出ができていますね。
では、解説に進みましょう。
解説
continue の基本構文は下記です。
for文やwhile文内の任意の箇所に continue; と書くことで、機能を実現できます。
/* for文 */ for(初期化; 継続条件; カウンタ更新 ) { 処理1; /* なくてもよい */ if( 条件式 ) continue; 処理2; /* なくてもよい */ } /* while文 */ while( 継続条件 ) { 処理1; /* なくてもよい */ if( 条件式 ) continue; 処理2; /* なくてもよい */ }
continue を単体で記述すると、必ず以降の処理が実施されないことになってしまいますので、だいたいはif文とセットで用います。
上記の例では、処理1を常におこない、処理2は条件式が不成立の時だけおこなうような振る舞いとなります。
サンプルコードでは
if( (count % 2) == 0 ) continue;
と実装していました。
(count % 2) == 0 なので 2で割った余りが0(つまり偶数)の時は、continue つまり以降の処理をせずにループの先頭に戻すという動作になります。
これによって、奇数の場合だけ加算処理をおこなうことになり、奇数の総和演算が実現できたということになります。
まとめ
まとめです。
- for文やwhile文の中に continue; と書くことで、今のループの以降の処理をスキップできます。
- if文と組み合わせて使うのが一般的です。
以上です。
ではまた。