【C#】if文で条件分岐を実装する【if() elseの使い方】
この記事では分岐処理を行うif else文の使い方について解説します。
if文は、プログラムにおいて超重要な「条件分岐」を司る超大事な処理です。
一つのシステムに何百回も出てくるIf else文処理。
そんな超重要なif else文の概要を学んでいきましょう。
本記事をご覧頂くと下記内容が理解できます。
この記事で学べること
・C#のif else文の使い方
・条件分岐とは何か?
・if文でよく使う応用
疑問点や質問には何でも答えようと思っています。
この記事の不明点はこちらからお問い合わせ下さい。
C#のおすすめ講座を受講して、最短1週間でC#をマスターしよう!
⇒C#が学べるおすすめプログラミングスクール&オンライン講座11選
①C#のif else文とは?条件分岐とは何か?
まず初めにif else文とはどのような処理なのか?条件分岐とは何か?について解説します。
・if else文とはどのような処理なのか?
if else文は、英語のifの意味そのままに、if(もし〇〇したら、○○する)という処理になります。
言い換えると「条件によって実行を変える処理」です。
C#で分岐処理を書くときは
if(条件){条件がYESの時の処理}else{条件がNOの時の処理}
と記載します。
if else文のプログラムは下記のようになります。
//if文のイメージ
if (晴れている?)
{
// YES 自転車で行く
}
else
{
// NO 歩いていく
}
if(もし晴れていたら?)という条件があり、
「晴れていたら(条件がYES)自転車で行く」
「晴れていなかったら(条件がNO)歩いていく」
という分岐した後の実行がある。
というのがif文で表現される処理になります。
このように条件が正しいか正しくないかで処理を分岐させることを「条件分岐」と言います。
実際のシステムは下記のように、たくさんの条件分岐が枝分かれすることで実現されています。
if else文をたくさん書き、各条件ごとの処理を書くことで、複雑な社会システムを構築しているのです。
そのため、システムが複雑であればあるほどif else文を書く機会があります。
先ほど、if文は超重要と言ったのはそのためです。
②C#のif else文を用いたプログラムの実装
下記のプログラムを記載して、実際に「if else文がどのように処理されるのか」確認してみましょう!
※プロジェクトの作成方法はこちら(左記サイトの①プロジェクトの作成をご確認ください)
プログラムのコピペは下記から
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LecturerBeginner
{
class Program
{
static void Main(string[] args)
{
//①数値が偶数であれば「偶数です。」と表示する
int evenNumber = 2;
if (evenNumber % 2 == 0)
{
Console.WriteLine("偶数です。");
}
//②数値が偶数であれば「偶数です。」、奇数であれば「奇数です。」と表示する
int oddNumber = 1;
if (oddNumber % 2 == 0)
{
Console.WriteLine("偶数です。");
}
else
{
Console.WriteLine("奇数です。");
}
}
}
}
上記のプログラムを実行すると下記の結果が得られます。
※プログラムの実行方法はこちら(左記サイトの③プロジェクトの実行をご確認ください)
③C#のif else文プログラムの解説
この項では②で紹介したプログラムの解説をします。
①数値が偶数であれば「偶数です。」と表示する
//①数値が偶数であれば「偶数です。」と表示する
int evenNumber = 2;
if (evenNumber % 2 == 0)
{
Console.WriteLine("偶数です。");
}
上記のブロックが基本的なif文の実装方法になります。
if(条件){条件がYESの時の処理}
このif文の条件は「if (evenNumber % 2 == 0)」になります。
等値演算「==」を用いて、条件を実装しています。
「==」は等値演算子と呼ばれ、左辺の式と右辺の式が一致しているかどうかを判断する演算子です。
今回のプログラムで説明すると
左辺 evenNumberを2で割ったときの余り
と
右辺 0
が等しいかどうか判断しています。
※「%」は余りを導出する演算子です。等値演算子の概要はこちらから
if文の「evenNumber÷2」で余りを求め、その余りと「==」で左辺の「0」を比較します。
比較した結果、条件が「正しい」くなり、if文がYESになるので{}内の処理を行い「偶数です。」と表示します。
②数値が偶数であれば「偶数です。」奇数であれば「奇数です。」と表示する
//②数値が偶数であれば「偶数です。」、奇数であれば「奇数です。」と表示する
int oddNumber = 1;
if (oddNumber % 2 == 0)
{
Console.WriteLine("偶数です。");
}
else
{
Console.WriteLine("奇数です。");
}
プログラム①に、else(それ以外)の処理を追加したのがプログラム②となります。
if(条件){条件がYESの時の処理}else{条件がNOの時の処理}
条件は「if (evenNumber % 2 == 0)」が正しくない時にelse{}の中身の処理を実行します。
変数として「int oddNumber = 1;」と代入しているため、条件「oddNumber % 2 == 0」が正しくなくなります。
そのため、else{}が実行され画面上に「奇数です。」と表示されます。
④C#のif else文ちょっと応用
この項ではif else文の頻繁に使う書き方や応用をご紹介します。
else ifの羅列で条件を追加する
ここまでの条件分岐の例では条件が一つでしたが、条件を追加することも可能です。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LecturerBeginner
{
class Program
{
static void Main(string[] args)
{
//①条件を追加する
int evenNumber = 2;
if (evenNumber == 1)
{
Console.WriteLine("値は1です。");
}
else if (evenNumber == 2)
{
Console.WriteLine("値は2です。");
}
else if (evenNumber == 3)
{
Console.WriteLine("値は3です。");
}
else if (evenNumber == 4)
{
Console.WriteLine("値は4です。");
}
else if (evenNumber == 5)
{
Console.WriteLine("値は5です。");
}
}
}
}
上記のようにelse if(条件)を五月雨式に追加すれば、複数の条件でも処理を実行できるようになります。
数ある条件の中で、正しい条件の処理のみ実行されます。
今回の場合は、Int型変数evenNumberに2を代入していますので、条件「else if (evenNumber == 2)」が実行されます。
このように
if(条件1){処理1} else if(条件2){処理2} else if(条件3){処理3}・・・
と条件を増やすことができます。
if else文で非等値演算子 !=の実装
先ほど等値演算子「==」で左辺と右辺が一致しているときのif文を実装しました。
逆に一致していないときの処理もしたいなぁ。
と感じた方がいると思います。
一致していない時の条件を実装したい時は非等値演算子 「!=」を使います。
「左辺 != 右辺」とコードを書くことで、「左辺と右辺が一致しないときにif文を実行する」という処理を実現することができます。
//①非等値演算子 「!=」で一致しないとき、処理を実行する
int evenNumber = 1;
if (evenNumber % 2 != 0)
{
Console.WriteLine("奇数です。");
}
条件「else if (evenNumber % 2 == 0)」の時とは逆に奇数の時に処理を実行するようになりました。
if else文で比較演算子「>=, >, <=, <」の実装
等値演算子「==」、非等値演算子 「!=」の紹介をしました。
これ以外にも条件分岐に使用される演算子があります。
それが>=(以上), >(大なり), <=(以下), <(小なり)です。
この四つの演算子は皆さんの中にもご存じの方もいるのではないでしょうか?
数学の時にお世話になった不等号です。数学でよく見る不等号
これはC#では比較演算子と呼ばれ、if文の条件分岐によく使用されます。
例を見て動きを確認してみましょう。
//比較演算子を用いた条件分岐
int number = 5;
if (number > 2)
{
Console.WriteLine("値は2より大きいです。");
}
if (number <= 5)
{
Console.WriteLine("値は5以下です。");
}
//下記の条件は画面に表示されない
if (number < 5)
{
Console.WriteLine("値は5より小さいです。");
}
1番目のif(number > 2)は、「number(5)が2より大きいか?」という条件。
条件は正しいため、Console.WriteLine(“値は2より大きいです。");を実行しています。
2番目のif(number <= 5)は、「number(5)が5以下か?」という条件。
条件は正しいため、Console.WriteLine(“値は5以下です。");を実行しています。
2番目のif(number < 5)は、「number(5)が5より小さいか?」という条件。
条件は正しくないため、Console.WriteLine(“値は5より小さいです。");を実行していません。
※大なり小なりと以上以下の詳細はこちら
自分でプログラムを変更して、様々な計算式の結果を確認してみましょう。
⑥C#のif else文の課題にチャレンジ
(1) 下記のプログラムを実行してみよう。※数値だけでなく文字列でも比較できることを確認。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace LecturerBeginner
{
class Program
{
static void Main(string[] args)
{
string text = "文字列で比較";
if (text == "文字列で比較")
{
Console.WriteLine("成功しました。");
}
}
}
}
上記のように文字列も等価演算子「==」で条件として実装することができます。
しかし、使用する際の注意点もあるのでこちらご確認ください。後の章で詳しく解説します。
(2) 2.2以上の値の時に「この値は2.2以上です。」と表示するプログラムを実装してください。
※double型変数を使用して実装してください。
double kadai = 2.2;
if (kadai >= 2.2)
{
Console.WriteLine("この値は2.2以上です。");
}
このようにif文の条件は、比較演算子、等価演算子、非等価演算子など、様々なパターンで実装されます。
次のカリキュラムでは、if文をさらに深堀りしていきます。ぜひご確認ください。
C#プログラミング始めやすいように下記にC#を学ぶための完全ガイドを作成しています。
気軽にC#の勉強を始めてみてください!!
C#プログラミングを学んでみたい方向けの完全ガイドを下記に掲載します。
⇒C#初心者向けプログラミング完全ガイド
下記のリンクを順にこなせば、C#プログラミングを学ぶことができます。
はじめに
初級編
- 【Visual Studio】プロジェクト/ソリューションの作り方とその違い
- 【C#】console.writeで画面上に文字を表示する【writeの使い方とよくあるエラー】
- 【C#】変数を使って計算してみよう!【int/doubleの使い方とよくあるエラー】
- 【C#】String文字列の使い方【replace/substring/Length】
- 【C#】if文で条件分岐を実装する【if() elseの使い方】
- 【C#】for文でループ/くり返し処理を実装する【forの使い方とよくあるエラー】
- 【Visual Studio】ビルドとデバックのやり方/注意点
- 【C#】リスト(List)型の初期化方法!【Listの使い方とよくあるエラー】
- 【C#】メソッド(関数)を使ってみよう!【関数の使い方とよくあるエラー】
- 【C#】クラスとインスタンスを使いこなす【クラスの使い方とよくあるエラー】
知っておくと便利
- 【Visual Studio】おすすめのショートカットキーで業務効率化
- 【C#】break/continue文の実装方法【breakの使い方とよくあるエラー】
- 【C#】アクセス修飾子(publilc/private)の使い方【publicの使い方とよくあるエラー】
中級編
- 【C#】Windows Formでアプリ画面を作成しよう【WindosFormの使い方】
- 【C#】アプリ画面の名前を変更しよう【Formのプロパティ設定方法】
- 【C#】ラベルの設定方法をご紹介【labelの使い方】
- 【C#】ラベルの設定方法をご紹介【labelの使い方】
- 【C#】画面にボタンを追加してみよう【Buttonの使い方】
- 【C#】画面にボタンのメソッドを実装しよう①【Buttonの使い方と注意点】
- 【C#】画面にボタンのメソッドを実装しよう②【Buttonの使い方と注意点】
上級編(やらなくてもOK)
- 随時更新予定
プログラミングで挫折しかけている方へ向けて
おすすめのC#教材(補助教材として)