なぜ繰り返し処理の理解が重要なのか、その理由
この記事では、弊社の新人エンジニア研修の参考にC#を解説します。
前回は条件分岐と判定条件について解説しました。今回は繰り返し処理について解説します。
繰り返し処理は、人間にとって煩わしいものでも、コンピュータには難なく行えます。コンピュータの利点を最大限に引き出すためにも、繰り返し処理を理解しましょう。
ここでは、以下の3つの繰り返し処理を学びます:
while
文for
文do-while
文
なお、繰り返し処理のことをループとも言います。
1. while
文
英語の「while」には「~の間」という意味があります。while
文では、継続条件を満たしている間は処理を繰り返します。
基本構文
csharpコピーする編集するwhile (継続条件式)
{
文;
}
「継続条件式」がtrue
なら「文」を実行し、false
ならループを終了します。
C#での例 (Example01)
using System;
class Example01
{
static void Main()
{
int i = 0;
while (i < 3)
{
Console.WriteLine(i);
i++;
}
}
}
実行結果
コピーする編集する0
1
2
ここでは、i++
(インクリメント)に注目してください。この部分がないと無限ループになります。無限ループが発生した場合、開発環境(IDE)での強制停止方法を講師に尋ねてみてください。
2. for
文
while
文では、初期化、条件判定、更新を分けて記述しましたが、for
文はこれらを1行にまとめて記述できます。
基本構文
csharpコピーする編集するfor (初期化式; 継続条件式; 更新式)
{
文;
}
- 初期化式を1度だけ実行します。
- 継続条件式を評価し、
true
なら文を実行します。 - 更新式を実行し、2に戻ります。
C#での例 (Example02)
using System;
class Example02
{
static void Main()
{
for (int i = 0; i < 3; i++)
{
Console.WriteLine(i);
}
}
}
実行結果
0
1
2
3. ユーザー入力を受け付ける
ユーザーからの入力を受け付けるには、C#ではConsole.ReadLine
を使用します。
C#での例 (Example05)
using System;
class Example05
{
static void Main()
{
Console.WriteLine("何回数え上げますか?");
int count = int.Parse(Console.ReadLine());
int i = 0;
while (i < count)
{
Console.WriteLine(i);
i++;
}
}
}
4. ループを中断するbreak
文
break
文を使用して、特定の条件でループを終了できます。
C#での例 (Example06)
using System;
class Example06
{
static void Main()
{
int sum = 0;
while (true)
{
Console.WriteLine("整数値を入力してください。(終了するには-1を入力)");
int n = int.Parse(Console.ReadLine());
if (n == -1)
{
break;
}
sum += n;
Console.WriteLine("これまでの合計: " + sum);
}
}
}
5. ループを1回スキップするcontinue
文
continue
文を使用すると、ループ内の後続の処理をスキップし、次の繰り返しに移行します。
C#での例 (Example08)
using System;
class Example08
{
static void Main()
{
int sum = 0;
for (int i = 0; i < 3; i++)
{
Console.WriteLine("整数値を入力してください。");
int n = int.Parse(Console.ReadLine());
if (n < 0)
{
continue;
}
sum += n;
Console.WriteLine("これまでの合計: " + sum);
}
}
}
6. ループのネスト
ループの中に別のループを入れることをループのネスト(入れ子処理)と言います。
C#での例 (Example09)
using System;
class Example09
{
static void Main()
{
for (int i = 1; i <= 9; i++)
{
for (int j = 1; j <= 9; j++)
{
Console.Write(i * j + "\t");
}
Console.WriteLine();
}
}
}
7. do-while
文
do-while
文は、条件を判定する前に1度必ず処理を実行します。
C#での例 (Example10)
using System;
class Example10
{
static void Main()
{
int count = 0;
do
{
count++;
} while (count < 1);
Console.WriteLine(count);
}
}
実行結果
これらの基礎をしっかり押さえておくことで、C#プログラミングの理解が深まります。
まとめができたら、アウトプットとして演習問題にチャレンジしましょう。