for命令
while、do while命令は条件式がtrueの間ループさせるのに対して、for命令は予め定められた回数だけループ処理を行います。
for(初期化子 ;条件;反復子){
実行する命令
}
繰り返し処理1であげた1~5までの整数値を表示するプログラムをfor命令で記述すると以下の様になります。
for(int i =1;i < 6; i++){
Console.WriteLine(i + "番目のループです");
}
初期化子セクション
初期化子セクションはfor命令に入った時だけに1回実行されます。一般的にはカウンター変数を初期化します。この場合、ここで初期化されたカウンタ変数はforブロックでしか使用できません。
カウンタ変数は一般的にはループ処理の回数を定めたものになります。
条件セクション
条件セクションとはforループを継続するための条件を表します。ループを開始してからこの条件を満たさなくなるまで処理を行います。
反復セクション
最後の反復子セクションは、ループ内の処理が1回終わる度に1回実行されます。一般的にはループ内のカウンタ変数を変更するのに使われます。
foreach命令
foreachは配列やコレクション(別途説明します)の要素を取り出して先頭から順に処理します。
int[] a = new int[]{1,2,3,4,5};
foreach(int temp in a){
Console.WriteLine(temp + "番目のループです");
}
for文で書くと以下の様になります。
int[] a = new int[]{1,2,3,4,5};
for(int i=0;i<a.Length;i++){
Console.WriteLIne(a[i] + "番目のループです");
}
まとめ
今回はfor命令とforeach命令について学びました。
while命令やdo..while命令との違いは、while命令が条件式がtrueの間処理するという繰り返しの回数という意識がないのでが、for命令は範囲が定まっている配列などのコレクションを取り扱う時に使います。
for命令とforeach命令の違いはfor命令が順番を指定することが出来る点ですが、foreach命令の場合、先頭から順番に値を取り出していくと言うものがあります。
コメント