初めに
foreach文はループ文の中でも少し難しいらしい。
初心者はfor文で十分なんて書いてある記事も。。。
foreach文とは
for文のように繰り返しループ処理をする。
for文に比べて簡潔に記述することが出来る。
配列等にアクセスして要素を取り出すのに使う。
構文
(foreach基本構文)
foreach(データ型 変数名 in コレクション)
{
//処理内容
}
(for基本構文)
for(回数を格納する用の変数 = 始まりの値; 繰り返しが続く条件; カウントアップする数)
{
//処理内容
}
for(int i = 0; i < コレクションの要素数; i++) {
//処理内容
}
コレクションとは
配列などのオブジェクトの集まりのこと。 コレクションの要素をループごとに順番に変数に代入して、ブロック内で変数を使った処理をする。
foreachとfor文の違い
for文
条件が成立するまで繰り返す。
foreach文
指定したコレクションから要素を1つずつ取り出してコレクションの要素数分だけ繰り返し実行。
・for文はiの定義やインクリメントをするのに対して、foreach文は不要である。
・foreachはループ終了のための条件判定式がない(無限ループされない)。
foreachとfor文の使い分け
すべての要素分を1回ずつ処理したい→foreach文が適する。
(最後の要素の処理が終わればループを抜けてくれる為)
指定した要素分だけ処理したい→for文が適する。
(要素数を都度指定できる為)
最後に
foreachが簡潔に記述出来るからと言って、全てforeachで書けば良いというわけてはない。
(近しいもののようで全くの別物)
forとforeachを使い分けることが大切。
合わせて読みたい記事
if,for文の文法と真偽値,演算子について