はじめに
プログラミングにおいて、条件分岐とループは非常に重要な概念です。条件分岐を使用すると、特定の条件に基づいてコードの実行を制御できます。一方、ループを使用すると、同じコードを複数回実行することができます。C#には、これらの操作を実現するための構文が豊富に用意されています。この記事では、C#の条件分岐とループについて、特にif文とforループの基礎を詳しく解説します。
if文の使い方
if文の基本
if文は、条件が真である場合にのみコードを実行するための構文です。基本的な構文は以下の通りです。
int number = 10;
if (number > 5)
{
Console.WriteLine("Number is greater than 5.");
}
この例では、numberが5より大きい場合にメッセージが表示されます。
else文の使用
else文は、if文の条件が偽である場合に実行されるコードを指定するために使用します。
int number = 3;
if (number > 5)
{
Console.WriteLine("Number is greater than 5.");
}
else
{
Console.WriteLine("Number is not greater than 5.");
}
この例では、numberが5以下の場合にメッセージが表示されます。
else if文の使用
複数の条件を評価する場合、else if文を使用して追加の条件を指定できます。
int number = 7;
if (number > 10)
{
Console.WriteLine("Number is greater than 10.");
}
else if (number > 5)
{
Console.WriteLine("Number is greater than 5 but less than or equal to 10.");
}
else
{
Console.WriteLine("Number is 5 or less.");
}
この例では、numberが5より大きく10以下の場合にメッセージが表示されます。
ネストされたif文
if文の中に別のif文を入れることができます。これをネストされたif文と言います。
int number = 12;
if (number > 5)
{
Console.WriteLine("Number is greater than 5.");
if (number > 10)
{
Console.WriteLine("Number is also greater than 10.");
}
}
この例では、numberが5より大きい場合に「Number is greater than 5.」が表示され、その後にnumberが10より大きい場合に「Number is also greater than 10.」が表示されます。
forループの使い方
forループの基本
forループは、指定された回数だけコードを繰り返し実行するための構文です。基本的な構文は以下の通りです。
for (int i = 0; i < 5; i++)
{
Console.WriteLine("Iteration: " + i);
}
この例では、ループが5回実行され、iの値が0から4までの各値についてメッセージが表示されます。
ネストされたforループ
forループの中に別のforループを入れることができます。これをネストされたforループと言います。
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
Console.WriteLine("i: " + i + ", j: " + j);
}
}
この例では、外側のループが3回、内側のループがそれぞれ3回実行されます。
forループと配列
forループを使用して、配列の要素を処理することができます。
int[] numbers = { 1, 2, 3, 4, 5 };
for (int i = 0; i < numbers.Length; i++)
{
Console.WriteLine("Element at index " + i + ": " + numbers[i]);
}
この例では、配列numbersの各要素が順番に表示されます。
forループとリスト
forループを使用して、リストの要素を処理することもできます。
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
for (int i = 0; i < names.Count; i++)
{
Console.WriteLine("Name at index " + i + ": " + names[i]);
}
この例では、リストnamesの各要素が順番に表示されます。
breakとcontinue
breakの使用
break文は、ループを途中で終了させるために使用します。
for (int i = 0; i < 10; i++)
{
if (i == 5)
{
break;
}
Console.WriteLine("Iteration: " + i);
}
この例では、iが5になった時点でループが終了します。
continueの使用
continue文は、ループの残りの部分をスキップして次の反復に進むために使用します。
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
{
continue;
}
Console.WriteLine("Iteration: " + i);
}
この例では、iが偶数のときにはメッセージが表示されません。
実用例
if文を使用したユーザー入力の検証
ユーザーからの入力を検証するために、if文を使用する例です。
Console.WriteLine("Enter a number between 1 and 10:");
int number = int.Parse(Console.ReadLine());
if (number >= 1 && number <= 10)
{
Console.WriteLine("Valid number.");
}
else
{
Console.WriteLine("Invalid number.");
}
この例では、ユーザーが入力した数字が1から10の範囲内であるかどうかを検証し、結果を表示します。
forループを使用した合計の計算
forループを使用して、数値の配列の合計を計算する例です。
int[] numbers = { 1, 2, 3, 4, 5 };
int sum = 0;
for (int i = 0; i < numbers.Length; i++)
{
sum += numbers[i];
}
Console.WriteLine("Sum: " + sum);
この例では、配列numbersの各要素を順番に加算し、合計を計算します。
forループを使用したフィボナッチ数列の生成
forループを使用して、フィボナッチ数列の最初の10個の数を生成する例です。
int n1 = 0, n2 = 1, n3;
Console.Write(n1 + " " + n2 + " "); // 出力: 0 1
for (int i = 2; i < 10; i++)
{
n3 = n1 + n2;
Console.Write(n3 + " ");
n1 = n2;
n2 = n3;
}
この例では、フィボナッチ数列の最初の10個の数が順番に表示されます。
まとめ
C#における条件分岐とループは、プログラムの制御を行うための基本的な構文です。if文を使用すると、特定の条件に基づいてコードの実行を制御できます。一方、forループを使用すると、同じコードを複数回実行することができます。この記事で紹介した基本的な使い方と実用例を参考にして、C#の条件分岐とループの基礎を理解し、実際のプログラムで活用してください。

