C#のif文の使い方を完全ガイド!初心者でもわかる乱数生成
生徒
「C#で条件によって分岐する方法ってありますか?」
先生
「C#では、if文を使って簡単に条件分岐することができます。」
生徒
「具体的にはどのように使うんですか?」
先生
「それでは、基本的な使い方を見ていきましょう!」
1. if文とは?
if文は、条件が「真(true)」のときにだけ処理を実行できる仕組みです。
たとえば、信号が赤か青かで「進むか止まるか」を決めるのと同じように、プログラムの中でも「もし〜ならこうする」という動きを書くことができます。
2. if文の基本的な書き方
条件は( )に書き、処理は{ }にまとめます。
if (x < 100)
{
Console.WriteLine("xは100より小さいです。");
}
上の例では「もし x が100より小さいなら」という意味になります。
3. else文で「それ以外」を指定する
条件が成立しないときの処理はelseで書きます。
if (x < 100)
{
Console.WriteLine("xは100より小さいです。");
}
else
{
Console.WriteLine("xは100以上です。");
}
4. else ifで複数の条件を判定する
複数の条件を順番にチェックしたい場合はelse ifを使います。
if (x < 50)
{
Console.WriteLine("xは50より小さいです。");
}
else if (x < 100)
{
Console.WriteLine("xは50以上で100より小さいです。");
}
else
{
Console.WriteLine("xは100以上です。");
}
5. 比較演算子を使う
条件には比較演算子を使います。
==右と左が等しい!=等しくない<小さい>大きい
if (x == 10)
{
Console.WriteLine("xは10です。");
}
=は「代入」なので、間違えないよう注意しましょう。
6. 複数条件の組み合わせ
条件は&&(かつ)や||(または)で組み合わせ可能です。
if (x >= 10 && x <= 20)
{
Console.WriteLine("xは10以上20以下です。");
}
if (x == 0 || x == 100)
{
Console.WriteLine("xは0か100です。");
}
7. 乱数を使ってif文を試してみよう
乱数を使うと、毎回違う結果が出て面白いです。
Random rand = new Random();
int number = rand.Next(1, 101); // 1〜100の乱数を生成
Console.WriteLine("生成された乱数: " + number);
if (number < 50)
{
Console.WriteLine("生成された数は50未満です。");
}
else if (number <= 80)
{
Console.WriteLine("生成された数は50以上80以下です。");
}
else
{
Console.WriteLine("生成された数は81以上です。");
}
8. if文で気をつけるポイント
- 条件の書き方を間違えると意図しない動きになる
- 波カッコ
{ }を省略しない =と==の違いに注意- 複雑になりすぎたら分けて書く
まとめ
この記事では、C#のif文の基本から、else、else if、比較演算子、論理演算子、そして実践的な乱数を使った条件分岐までをじっくり学びました。プログラミングにおいて、条件分岐は非常に重要な役割を果たします。条件に応じて異なる処理を実行できるようになると、アプリケーションの動きが格段に豊かになります。
特にifとelseの基本的な使い方をしっかり理解しておくことで、ユーザーの入力やランダムな値に応じて柔軟に振る舞うプログラムを作成できるようになります。また、==と=の違い、波カッコ{}の使い方など、初心者がつまずきやすいポイントも具体的に見てきました。
以下は、今回の内容をふまえて少し応用したサンプルプログラムです。数値の範囲によって異なるメッセージを出し分ける練習になります。
using System;
class Program
{
static void Main()
{
Random rand = new Random();
int score = rand.Next(0, 101); // 0〜100の乱数を生成
Console.WriteLine("スコア: " + score);
if (score >= 90)
{
Console.WriteLine("とても優秀です!");
}
else if (score >= 70)
{
Console.WriteLine("よくできました!");
}
else if (score >= 50)
{
Console.WriteLine("がんばりました!");
}
else
{
Console.WriteLine("もう少し頑張りましょう!");
}
}
}
上記の例では、スコアによって4段階の評価を行っています。ifやelse if、elseの書き方が整理されていることで、読みやすく、分岐の意図も明確に伝わる構成になっています。実務においても、こういった条件の使い分けは非常に重要になります。
今後、条件が複雑になっていく場面でも、「まず何を判断したいのか」「その結果どう動かすのか」を意識して設計することで、バグの少ない安定したコードが書けるようになります。たとえば、「複数の条件をひとつずつ分けて書く」ことを心がけるだけでも、プログラムの見通しはグッとよくなります。
また、比較演算子や論理演算子を正しく使えるようになると、複雑な条件もスマートに記述できるようになります。たとえば、「〜以上かつ〜以下」や「〜と〜のいずれかに一致する」といった表現は、現実のアプリケーションで非常によく登場します。
練習の際は、コンソールに表示される結果をしっかり確認して、「どの条件にマッチしているか」を意識してみると理解が深まります。今回紹介した乱数とif文の組み合わせは、ゲームの動作や成績判定などにも応用できるため、ぜひ自分なりのアイデアでプログラムを改造してみてください。
最後に大切なのは、「条件の書き方を間違えない」ことと、「if文の構造をしっかり整理する」ことです。たった一つの条件のミスが、思わぬ挙動を引き起こす原因になるので、プログラムを書くときには、読みやすさと正確さを両立することを意識して練習を積み重ねていきましょう。
生徒
「if文って、条件を指定してプログラムを分けるためのものなんですね。ランダムな数値に反応させるのもできるなんて、便利です!」
先生
「その通りです。条件に応じて処理を切り替える力を身につけることで、アプリの幅がグンと広がりますよ。」
生徒
「あと、==と=の違いに注意って話、まさに間違えてました…。ちゃんと区別しないとですね。」
先生
「そうですね。細かい記号の意味までしっかり理解しておくことが、バグを防ぐ第一歩になります。」
生徒
「次は、自分で複数条件のプログラムを作って練習してみます!」
先生
「すばらしい意欲ですね。実際に書いて試してみることで、知識はどんどん定着していきますよ。」