比較演算子と論理演算子
比較演算子と論理演算子で条件を組み合わせます。
「比較演算子と論理演算子」は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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 算術演算子と代入演算子
- 比較演算子と論理演算子
- ビット演算子とシフト演算子
- 演算子の優先順位と結合規則