【C#入門】繰り返し処理(for文)の使い方を分かりやすいサンプルコードで徹底解説①
今回は繰り返し処理についてです。
指定した回数分の処理を繰り返したり、条件を満たしている間処理を繰り返したりする構造を、
「繰り返し構造」と呼びます。
C#では、繰り返し構造のために、
「for」「do〜while」「while」「foreach」という4つの制御文を用意しています。
ここでは「for」について紹介します。
for文
小回数分繰り返す制御を行う場合には、for文がよく用いられます。
1 2 3 4 |
for(カウンタ変数の初期化;ループの継続条件式;カウンタ変数の更新) { 繰り返す処理 } |
ここで例題を見てみます。
1 2 3 4 5 6 7 8 9 |
// 例題 static void Main(string[] args) { for (int i = 1; i <= 10; i++) { Console.Write(i + " "); } } |
for文の実行結果
forの()の中は中は少々理解しづらい内容ですが、
フローチャートに書いてみるとすぐにわかります。
1 |
for (int i = 1; i <= 10; i++) // 1スタートで+1間隔で10まで処理を行う |
繰り返す処理が1文のときは{}を省略し、
1 2 |
for (int i = 1; i <= 10; i++) Console.Write(i + " "); |
と書くことができます。
また、カウンタ変数の宣言はfor文の前で行い、
1 2 3 4 5 |
int i; for (i = 1; i <= 10; i++) { Console.Write(i + " "); } |
と書いてもかまいませんが、カウンタ変数をループが終了してから使うことは、
まれなので、forの()の中に書くほうが一般的です。
もし、ループが終了してから もカウンタ変数を使う場合には、上記の例のように
for文の前で宣言してください。
なぜなら、変数は宣言場所によってアクセスできる有効範囲が異なるからです。
これを「スコープ」と呼びます。
● {}で囲まれたプロックの中で宣言した変数は、そのブロック中でしか
使用できない
● for文の()の中で宣言したカウンタ変数はそのforループのブロック中でしか
使用できない
for文は、カウンタ変数の初期値や更新値を変えることで色々な制御をすることができます。
バリエーションを変えていろいろ試してみましょう。
1 2 3 4 5 6 7 8 |
static void Main(string[] args) { for (int i = 30; i >= 1; i -=3 ) { if(i % 42 == 0) // if文を追加 Console.Write(i + " "); } } |
初期値や更新値変更後の実行結果
forの多重ループ
ループの中にループが入るネストの形を二重ループ、
二重以上にネストしてい流ものを多重ループと呼びます。
1 2 3 4 5 6 7 8 9 10 11 12 |
static void Main(string[] args) { for (int i = 1; i <= 5; i++) { for (int j = 1; j <= 7; j++) { Console.Write("*"); } Console.Write("¥n"); } } |
多重ループの実行結果
この2重のループを例をフローチャートで書くと
以下のようになります。
内側のループを外側のループで回しています。
ループ1: 改行しながらループ2を5回繰り返す。
ループ2: *を横方向に7回表示する。
1 2 3 4 5 6 7 8 9 10 11 |
static void Main(string[] args) { for (int i = 1; i <= 5; i++) { for (int j = 1; j <= i; j++) { Console.Write("*"); } Console.Write("¥n"); } } |
2重ループの実行結果
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。