スライドショー

【C#入門】if文で条件分岐をしよう!基礎知識まとめ


処理を条件によって分けたい
if文はどうかけば良いの?
条件の書き方分からない…

プログラミングを始めた方にとって最初の壁となるのが、条件分岐かと思います。

ある条件を満たした時だけ決まった処理をさせるif文は、プログラミングには必須となる文法です。

こんにちは、現役エンジニア5年目の遠藤です!

今回は、C#におけるif文の書き方を解説致します。

この記事はこんな方へ向けて書かれています。

  • if文(条件分岐)がどういったものか分からない方
  • if文の基本的な書き方が分からない方
  • 条件式の書き方が分からない方

本記事はif文の基礎知識をまとめております。

if文がどういったものか分からない方は是非最後までお付き合いください。

if文ってどんなもの?

冒頭でも述べた通り、if文とは「ある条件を満たした時にだけ指定した動作をさせる」文です。例えばnがmより大きい時はn-mをして、mの方が大きいときはm-nにするなどといった、条件によって処理を分ける事が可能になります。

言葉ではイマイチわかりにくいと思うので、次の章で実際の書き方を見てみましょう。

if文の書き方

基本形

if文の基本形は以下のようになっています。

if(条件式){
    //条件が満たされた場合の処理
}

このように記述する事で、条件が満たされた時に処理が実行されます。条件が満たされない場合は処理が{}内の処理は実行されず、スキップされます。

なお、条件式の書き方については後ほど紹介致します。

elseについて

もし条件が満たされない場合の処理も指定したい時は、elseを使います。書き方は以下の通りです。

if(条件式){
    //条件が満たされた場合の処理
}
else{
    //条件が満たされなかった場合の処理
}

このように記述することで、条件が満たされた時とそうでない場合それぞれの処理を指定できます。

if elseについて

コーディングをしていると、分岐させたい処理が2択だけじゃない場合も出てきます。例えば数値nが0~2の時は処理1を、3~4の時は処理2、それ以外の場合は処理3を実行させたいといったケースです。

そういう場合は、else if()という行を追加することで、条件を増やす事ができます。書き方は以下のようになります。

if(条件1){
    //条件1が満たされた場合の処理
}
else if(条件2){
    //条件1が満たされず、条件2が満たされた場合の処理
}
else{
    //全ての条件が満たされなかった場合の処理
}

この時に注意していただきたいのが、条件1が成り立った時は条件2以降の判定や処理はすべてスキップされる事です。条件1が成り立たない時だけ条件2に進み、さらに条件2も成り立たない時は次へと進んでいくようになっております。

また、else if()はいくつでも追加することが可能で、elseは必ず最後に記述する必要があります(elseを書かない事は可能です)

条件式の書き方

if文の書き方が分かった所で、条件式の書き方について解説致します!

条件式には、True(真)かFalse(偽)となる式を書く必要があります。その基本となるのが、比較演算子です。

比較演算子

比較演算子とは、演算子の左辺と右辺を比べてTrueかFalseかを返す演算子です。関係演算子とも言います。

比較演算子には、以下のようなものがあります。

種類使い方意味
==n == mnとmは等しい
!=n != mnとmは等しくない
>n > mnはmより大きい
<n < mnはmより小さい
>=n >= mnはm以上
<=n <= mnはm以下

関係演算子を使って、実際にコードを書いてみましょう。

using System;

public class Program{
    public static void Main(){
        var num = 1;
        if (num == 1){
            Console.WriteLine("数値は1です");
        }
        else if(num > 1){
            Console.WriteLine("数値は1よりも大きいです");
        }
        else {
            Console.WriteLine("数値は1よりも小さいです");
        }
    }
}

numの値を0や10など好きな数に変更して、どのようになるか確認してみてくださいね!

複数の条件が真の時だけ処理を実行したい場合

複数の条件が真の時だけ処理を実行したい場合、2つの方法があります。

1つはif文の中にさらにif文を加える形です。以下のように記述する事で実行できます。

if(条件1){
    if(条件2){
        //条件1と条件2の両方が成り立つ時にだけ実行される処理
    }
    else{
        //条件1は成り立ったが条件2は成り立たなかった場合に実行される処理
    }
}
else{
    //条件1が成り立たない場合の処理
}

このように入れ子構造にする事で、複数の条件を満たしている場合のみに処理を実行させる事ができます。

ですが、これをもっとシンプルにまとめる事もできます。その際に使うのが、論理演算子です。

条件A「かつ」条件Bという表現や、条件A「または」条件Bといった「または」や「かつ」などにあたる演算子を論理演算子と言います。

基礎的に使われる論理演算子の種類には、以下のようなものがあります。

種類使い方意味
!!(演算対象)演算対象の否定。
演算対象がTrueの時はFalse, Falseの時はTrueを返す
&&A && B条件Aかつ条件Bが成り立つかどうか
||A || B条件Aまたは条件Bが成り立つかどうか

これを使って実際にコードを書くと、以下のように表現できます。

using System;

public class Program{
    public static void Main(){
        var num_a = 1;
        var num_b = 1;
        if (num_a == 1 && num_b == 1){
            //num_aとnum_b両方が1の場合にのみ実行される処理
            Console.WriteLine("どちらの数も1です");
        }
        else if(num_a == 1 || num_b == 1){
            //num_aかnum_bのどちらかが1の場合の処理
            Console.WriteLine("どちらかの数が1です");
        }
        else if(!(num_a == num_b)){
            //num_aとnum_bが一致しない場合の処理
            Console.WriteLine("num_aとnum_bは一致しません");
        }
    }
}

こちらもnum_aとnum_bの値を変更して試してみてください。

以上のように、複数の条件式を1行にまとめる事も可能です。理由がなければ行数は少なくまとめる方が良いので、論理演算子を上手く活用しましょう。

まとめ

今回の記事では、if文の基本的な使い方を網羅的に解説致しました。

ポイントとなる用語は以下の通りです。

  • if文
  • 関係演算子
  • 論理演算子

この単語だけ覚えておけば、if文の書き方を忘れてもすぐに調べられるかと思います!

if文はどのプログラミング言語でも重要となる文です。

ここで是非使い方を覚えて、どんどん活用してください!

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

遠藤貴大

遠藤貴大

1991年生まれ。双子座。
理系大学で認証システムを学んだ後、アプリ開発者となる。
新しく学ぶ人に寄り添った記事を心がけて執筆します。
芸術が好き。いつか猫と暮らすのが夢。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説