forループ
概要
変数の中身次第でコードを何回も実行する。
同じような処理を何度も繰り返したい場合に。
主に何回繰り返すことになるかわかっている場合に使う。
基本的な書き方
for (初期化; 条件式; 更新) {
繰り返し実行したいコード
}
特に、同じことを $10$ 回繰り返してほしい場合は、以下のように書く。
for (int i=0; i<10; i++) {
繰り返し実行したいコード
}
変数 i は、適切にかぶらない名前のものに変えること。
forループの動作
whileループで同じ処理を $10$ 回してほしい場合、以下のように書く。
int i = 0;
while (i<10) {
// 何かのコード
i++;
}
しかし、最初の i の宣言と初期化や、更新の i++ を書き忘れがち。
そこで、それと同じものを以下のようにまとめて書けるようにしたものと理解するとわかりやすい。
for (int i=0; i<10; i++) {
// 何かのコード
}
この「指定回数繰り返す」という書き方は頻出なので、絶対に書けるようにしておくこと。
この場合、以下の順に動作する。
- まず、
iという変数を用意し、0で初期化する i<10であるか判定するtrueなので中身を実行するi++して、iが1になるi<10であるか判定するtrueなので中身を実行するi++して、iが2になるi<10であるか判定するtrueなので中身を実行する- (中略)
i++して、iが9になるi<10であるか判定するtrueなので中身を実行するi++して、iが10になるi<10であるか判定するfalseなのでループを終了する
結果、中身が $10$ 回実行されている。
中身で i を見るコードを書くことで、実行内容を少しずつ変えることもできる。
条件式
詳しくは「if分岐」の記事参照。
よく使う処理
break; と continue; は、whileループと同様に使える。
詳しくは「whileループ」の記事参照。
注意点
if文の注意点が全てそのまま当てはまる。
詳しくは「if分岐」の記事参照。
whileループの注意点も参照。
詳しくは「whileループ」の記事参照。
関連知識
bool型
forループの条件式は、最終的に true か false として判定される。
!、&&、|| など bool 型の論理演算も扱う必要がある場合がある。
if分岐
forループの条件式には、if文と同じ条件式を使う。
whileループ
ループの基礎。
ループ回数がはっきりしていない場合はwhileループの方が書きやすい。
範囲for文
vector などの中身を順に全部見るforループを、より書きやすくしたもの。