C# else文の使い方

この記事のポイント

else文は条件分岐処理の基盤となる重要な構文です。この記事では基礎から実践まで幅広くカバーします。

この記事を読むと、次のようなことが身に付きます。

  • if文と組み合わせた基本的な使い方がわかる
  • 複数の条件をelse ifで効率的に処理する方法がわかる
  • 実際のコードですぐに使えるサンプルコードを知る

この記事を読めば、else文を使いこなし、複雑な条件分岐も迷わず書けるようになります。

目次

else文とは?

C#のelse文は、if文で指定した条件が成り立たない(偽、false)場合に、「そうでなければ」の処理を実行するための構文です。

日常生活で例えるなら、「もし休日なら遊びに行く、そうでなければ仕事に行く」といったように、ある条件に当てはまらない場合の行動を決めるのと同じ役割を果たします。

プログラムで条件によって処理を分岐させたいときに欠かせない構文です。

else文の特徴

  • if文の条件が成り立たなかった場合に実行される
  • 必ずif文とセットで使い、単独では使用できない
  • 条件が当てはまる場合と、そうでない場合で処理を明確に分けられる
  • else文自身は条件式を持たない

条件分岐の基本的な仕組みであり、プログラムの流れを制御するために重要な機能です。

【関連】
C#をもっと詳しく学ぶならpaizaラーニング

基本構文

else文は、if文とセットで使い、以下のように記述します。

▼if文とelse文

if (条件) { // 条件が真(true)の場合の処理 } else { // 条件が偽(false)の場合の処理 }

▼if文とelse if文、else文

if (条件1) { // 条件1が真(true)の場合の処理 } else if (条件2) { // 条件1が偽(false)で、条件2が真(true)の場合の処理 } else { // 全ての条件が偽(false)の場合の処理 }

それでは、C#のelse文の基本的な使い方を見ていきましょう。まずはシンプルなif-else文から、次に複数の条件を扱うelse if文へと、順番に解説します。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { int number = 5; if (number > 10) { Console.WriteLine("数値は10より大きいです"); } else { Console.WriteLine("数値は10以下です"); } } } }

出力結果

数値は10以下です

この例では、変数numberに5が代入されているため、if文の条件式(number > 10)は成り立たずにelse文のブロックが実行され、「数値は10以下です」と表示されます。

次に、3つ以上の条件で処理を分ける場合に使う、else if文のコードを見てみましょう。点数に応じて成績を判定します。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { int score = 85; if (score >= 90) { Console.WriteLine("優秀な成績です"); } else if (score >= 70) { Console.WriteLine("良い成績です"); } else { Console.WriteLine("もう少し頑張りましょう"); } } } }

出力結果

良い成績です

この例では、scoreが85なので、最初のif文の条件(score >= 90)は成り立ちません。次に、else if文の条件(score >= 70)が判定され、条件に当てはまるので「良い成績です」と表示されます。条件は上から順番に評価され、最初に当てはまったブロックの処理だけが実行されるのがポイントです。

これらの基本構文を理解することで、さまざまな条件分岐処理を実装できるようになります。条件は上から順番に評価され、最初に真となった条件のブロックのみが実行される仕組みです。

実用例

ここからは、実際の開発でもよく使われる、else文を活用した実用的なサンプルコードを紹介します。数値の判定やユーザー認証など、さまざまな場面を想定したコードを通して、else文の使い方に慣れていきましょう。

数値判定プログラム

入力された数値が正数、負数、ゼロのいずれかを判定するプログラムです。数値処理の基本的なパターンとして頻繁に使用されます。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { int value = -3; if (value > 0) { Console.WriteLine("正の数です"); } else if (value < 0) { Console.WriteLine("負の数です"); } else { Console.WriteLine("ゼロです"); } } } }

出力結果

負の数です

この例では、変数valueに-3が代入されているため最初のif文の条件(value > 0)は成り立たず、続くelse if文の条件(value < 0)が成り立つため、「負の数です」と表示されます。

ユーザー認証システム

ユーザーIDとパスワードが正しいかどうかを判定する、ログイン処理の基本的なコード例です。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { string userId = "admin"; string password = "123456"; if (userId == "admin" && password == "admin123") { Console.WriteLine("ログイン成功"); } else { Console.WriteLine("不正アクセス"); } } } }

出力結果

不正アクセス

この例では、ユーザーIDを表す変数userIdに"admin"、パスワードを表す変数passwordに"123456"を代入し、両方の値が正しいかを判定しています。

条件式では、AND演算子(&&)が「かつ」を意味するため、両方の条件を同時に満たす場合のみ真(true)となります。

この場合、パスワードが一致していないため条件は偽(false)となり、elseの処理が実行され、「不正アクセス」と表示されます。

成績判定アプリケーション

学生の点数に基づいて成績評価を行うシステムです。教育関連のアプリケーションでよく使用される条件分岐パターンです。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { int testScore = 78; if (testScore >= 90) { Console.WriteLine("A評価"); } else if (testScore >= 80) { Console.WriteLine("B評価"); } else if (testScore >= 70) { Console.WriteLine("C評価"); } else { Console.WriteLine("D評価"); } } } }

出力結果

C評価

この例では、testScoreが78なので、3番目のelse if文の条件(testScore >= 70)が当てはまるため、「C評価」と表示されます。

商品在庫管理システム

ECサイトや店舗システムで商品の在庫状況を判定し、適切なメッセージを表示する処理です。在庫管理の基本的な条件分岐です。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { int stock = 0; if (stock > 10) { Console.WriteLine("豊富在庫"); } else if (stock > 0) { Console.WriteLine("在庫少量"); } else { Console.WriteLine("在庫切れ"); } } } }

出力結果

在庫切れ

この例では、stockが0なので、if文とelse if文のどちらの条件にも当てはまりません。結果として、最後のelse文の処理が実行され、「在庫切れ」と表示されます。

年齢層分類プログラム

ユーザーの年齢に基づいて適切な年齢層に分類するシステムです。マーケティングや統計処理でよく使用される判定ロジックです。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { int age = 25; if (age < 20) { Console.WriteLine("青少年層"); } else if (age < 40) { Console.WriteLine("成人層"); } else if (age < 65) { Console.WriteLine("中年層"); } else { Console.WriteLine("高齢層"); } } } }

出力結果

成人層

この例では、ageが25なので、最初のif文の条件(age < 20)は成り立ちません。次に、else if文の条件(age < 40)が成り立つため、「成人層」と表示されます。数値の範囲によって条件を分けることで、特定の属性や層を柔軟に判定できます。

天気予報システム

気温に基づいて服装のアドバイスを提供する天気予報アプリケーションです。日常的なアプリケーションでよく見られる条件分岐処理です。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { int temperature = 15; if (temperature >= 25) { Console.WriteLine("夏日"); } else if (temperature >= 15) { Console.WriteLine("春日"); } else { Console.WriteLine("冬日"); } } } }

出力結果

春日

この例では、temperatureが15なので、if文の条件(temperature >= 25)は成り立ちませんが、続くelse if文の条件(temperature >= 15)は成り立つため、「春日」と表示されます。

パスワード強度チェック

ユーザーが入力したパスワードの文字数をチェックし、セキュリティレベルを判定するシステムです。セキュリティ機能の基本的な実装例です。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { string userPassword = "abc123"; if (userPassword.Length >= 12) { Console.WriteLine("強力なパスワード"); } else if (userPassword.Length >= 8) { Console.WriteLine("中程度なパスワード"); } else { Console.WriteLine("弱いパスワード"); } } } }

出力結果

弱いパスワード

この例では、userPasswordの文字数が6なので、if文とelse if文のどちらの条件にも当てはまりません。そのため、else文の処理が実行され、「弱いパスワード」と表示されます。

割引計算システム

購入金額に応じて割引率を決定するECサイトの価格計算システムです。商取引システムでよく使用される条件分岐の例です。

using System; namespace SampleApp { public class SampleProgram { public static void Main(string[] args) { int purchaseAmount = 7500; if (purchaseAmount >= 10000) { Console.WriteLine("20%割引適用"); } else if (purchaseAmount >= 5000) { Console.WriteLine("10%割引適用"); } else { Console.WriteLine("割引なし"); } } } }

出力結果

10%割引適用

この例では、purchaseAmountが7500円なので、else if文の条件(purchaseAmount >= 5000)が成り立ち、「10%割引適用」と表示されます。

まとめ

C#のelse文は、複雑な条件分岐を効率的に記述するための重要な構文です。この記事では、基本的な使い方から実用的なコード例まで解説しました。

else活躍する場面は次のようなケースです。

else活躍する場面

  • ユーザー入力値を検証し、正常か異常かで処理を分けるとき
  • システムの状態に応じて、実行する処理を切り替えたいとき
  • 条件に基づいてデータをカテゴリ分けしたいとき

else文を用いる上で、押さえておきたいポイントを覚えておきましょう。

重要なポイント

  • if文の後に記述し、単独では使用できない
  • 条件は上から順に評価され、最初に真となった処理だけが実行される
  • else if文を活用することで複数条件を効率的に処理可能

この記事で学んだ知識を活かして、条件分岐処理を試してみてください。繰り返し練習すれば、自然と使いこなせるようになります。

レベルを更に上げたい方はpaizaプログラミングスキルチェックへ

  1. paizaラーニングトップ
  2. リファレンス
  3. C#のリファレンス記事一覧
  4. C# else文の使い方