0Pricing
C# Academy · レッスン

比較演算子と論理演算子

比較演算子と論理演算子で条件を組み合わせます。

「比較演算子と論理演算子」はCoddyKit上の無料C# Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはC# Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 C# Academyコースには全4レッスンが含まれています。

比較演算子

比較演算子はboolを生成します。==は等しい、!=は等しくない、<はより小さい、>はより大きいことを表し、<=と>=もあります。

using System;

class Program {
    static void Main() {
        Console.WriteLine(5 == 5);
        Console.WriteLine(5 != 3);
        Console.WriteLine(5 > 8);
    }
}

等価比較と代入

==は比較し、=は代入します。これらを取り違えるのは典型的なバグです。C#ではifにboolが必要なため、誤って=を使うと通常はコンパイルに失敗します。

using System;

class Program {
    static void Main() {
        int a = 7;
        bool same = (a == 7);
        Console.WriteLine(same);
    }
}

変数の比較

比較はリテラルだけでなく、変数に対しても行えます。結果は保存したり、出力したりできるブール値です。

using System;

class Program {
    static void Main() {
        int age = 20;
        bool adult = age >= 18;
        Console.WriteLine("Adult: " + adult);
    }
}

論理AND: &&

&&は、左右両方がtrueの場合にのみtrueになります。これは論理AND演算子です。

using System;

class Program {
    static void Main() {
        int age = 25;
        bool ok = age >= 18 && age <= 65;
        Console.WriteLine(ok);
    }
}

論理OR: ||

||は、左右の少なくとも一方がtrueの場合にtrueになります。これは論理OR演算子です。

using System;

class Program {
    static void Main() {
        string role = "admin";
        bool canEdit = role == "admin" || role == "editor";
        Console.WriteLine(canEdit);
    }
}

論理NOT: !

!演算子はブール値を反転します。!trueはfalseになり、その逆も同様です。

using System;

class Program {
    static void Main() {
        bool loggedIn = false;
        if (!loggedIn) {
            Console.WriteLine("Please log in");
        }
    }
}

短絡評価

&&は左辺がfalseの場合に処理を停止し、||は左辺がtrueの場合に処理を停止します。その場合、右辺は評価されません。これを短絡評価と呼びます。

using System;

class Program {
    static bool Check() {
        Console.WriteLine("Check ran");
        return true;
    }
    static void Main() {
        bool result = false && Check();
        Console.WriteLine(result);
    }
}

ガードとしての短絡評価

短絡評価を使うと、前の条件が成立した場合にのみ安全に処理を検査でき、エラーを回避できます。

using System;

class Program {
    static void Main() {
        string text = null;
        if (text != null && text.Length > 3) {
            Console.WriteLine("Long text");
        } else {
            Console.WriteLine("Skipped safely");
        }
    }
}

条件の組み合わせ

多くの条件を連結できます。グループ化を明確かつ正確にするには、括弧を使用します。

using System;

class Program {
    static void Main() {
        int hour = 14;
        bool openNow = (hour >= 9 && hour < 12) || (hour >= 13 && hour < 18);
        Console.WriteLine("Open: " + openNow);
    }
}

分岐での比較

比較演算子と論理演算子は、プログラムの流れを制御するif文の中心となる要素です。

using System;

class Program {
    static void Main() {
        int score = 82;
        if (score >= 90) Console.WriteLine("A");
        else if (score >= 80) Console.WriteLine("B");
        else Console.WriteLine("C or below");
    }
}

ブール値の結果は値です

比較によって実際のbool値が得られます。そのまま返したり、保存したり、出力したりできます。

using System;

class Program {
    static bool IsPositive(int n) {
        return n > 0;
    }
    static void Main() {
        Console.WriteLine(IsPositive(5));
        Console.WriteLine(IsPositive(-2));
    }
}

理解度チェック

論理演算子と短絡評価についての理解度を確認します。

まとめ

比較演算子(== != < > <= >=)はブール値を生成します。論理演算子はそれらを組み合わせます。&&はAND、||はOR、!はNOTです。

&&と||はどちらも短絡評価を行い、結果がすでに決まっている場合は右オペランドを評価しません。そのため効率がよく、安全性を確保するガードとしても役立ちます。

よくある質問

「比較演算子と論理演算子」レッスンは無料ですか?

はい。「比較演算子と論理演算子」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、C# Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 C# Academyコースには全4レッスンが含まれています。

「比較演算子と論理演算子」で何を学びますか?

比較演算子と論理演算子で条件を組み合わせます。 ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

C# Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのC# Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「比較演算子と論理演算子」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このC# Academyレッスンでコードを書いて実行できますか?

はい。すべてのC# Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. 算術演算子と代入演算子
  2. 比較演算子と論理演算子
  3. ビット演算子とシフト演算子
  4. 演算子の優先順位と結合規則
← C# Academyに戻る