0Pricing
C# Academy · レッスン

演算子の優先順位と結合規則

評価順序を理解し、括弧を使います。

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

優先順位が重要な理由

式に複数の演算子が含まれる場合、C#は優先順位を使って処理順序を決定します。優先順位の高い演算子ほど強く結び付き、先に実行されます。

using System;

class Program {
    static void Main() {
        Console.WriteLine(2 + 3 * 4);
    }
}

加法演算より先に乗法演算

* / %は+ -より優先順位が高いため、数学の授業と同じように先に実行されます。

using System;

class Program {
    static void Main() {
        Console.WriteLine(10 - 2 * 3);
        Console.WriteLine(20 / 4 + 1);
    }
}

括弧による順序の変更

括弧の優先順位は最も高くなります。括弧を使うと、指定した順序で処理させ、意図を明確にできます。

using System;

class Program {
    static void Main() {
        Console.WriteLine((2 + 3) * 4);
        Console.WriteLine(2 + (3 * 4));
    }
}

比較と算術演算

算術演算は比較より先に実行されます。a + b > cでは、まず加算が行われ、その後に比較が行われます。

using System;

class Program {
    static void Main() {
        int a = 3, b = 4, c = 5;
        Console.WriteLine(a + b > c);
    }
}

論理演算子の順序

&&は||より優先順位が高くなります。a || b && cでは、ANDが先に結び付きます。

using System;

class Program {
    static void Main() {
        bool r = true || false && false;
        Console.WriteLine(r);
    }
}

優先順位の概要

大まかな順序を高いものから並べると、括弧、単項演算子(! ~ -)、* / %、+ -、シフト、比較、等価比較、ビット演算、&&、||、そして代入です。

using System;

class Program {
    static void Main() {
        int x = 1 + 2 << 1;
        Console.WriteLine(x);
    }
}

結合規則: 左から右

演算子の優先順位が同じ場合は、結合規則によって方向が決まります。ほとんどの二項演算子は左結合です。10 - 4 - 2は(10 - 4) - 2として処理されます。

using System;

class Program {
    static void Main() {
        Console.WriteLine(10 - 4 - 2);
        Console.WriteLine(100 / 5 / 2);
    }
}

右結合の代入

代入は右結合です。a = b = 5では、まず5がbに代入され、その結果がaに代入されます。

using System;

class Program {
    static void Main() {
        int a, b;
        a = b = 5;
        Console.WriteLine(a + " " + b);
    }
}

単項演算子は強く結び付く

単項演算子の!、~、符号反転は二項演算子より先に適用されます。-3 + 2では、まず3の符号が反転されます。

using System;

class Program {
    static void Main() {
        Console.WriteLine(-3 + 2);
        Console.WriteLine(!false && true);
    }
}

条件演算子

三項演算子?:の優先順位は低く、代入の直前です。安全のため、複雑な条件には括弧を付けます。

using System;

class Program {
    static void Main() {
        int n = 7;
        string s = n % 2 == 0 ? "even" : "odd";
        Console.WriteLine(s);
    }
}

巧妙さより明確さ

優先順位によって括弧を省略できる場合でも、括弧を追加するとコードが読みやすくなり、レビューもしやすくなることがあります。

using System;

class Program {
    static void Main() {
        int a = 2, b = 3, c = 4;
        int result = (a * b) + (c * 2);
        Console.WriteLine(result);
    }
}

理解度チェック

優先順位と結合規則についての理解度を確認します。

まとめ

優先順位によって、どの演算子が先に実行されるかが決まります。*と/は+と-より優先され、括弧はすべての演算子より優先されます。結合規則は、優先順位が同じ演算子同士の順序を決めます。ほとんどの演算子は左から右に、代入は右から左に処理されます。

迷った場合は、明確にするために括弧を追加します。

よくある質問

「演算子の優先順位と結合規則」レッスンは無料ですか?

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

「演算子の優先順位と結合規則」で何を学びますか?

評価順序を理解し、括弧を使います。 ブラウザで直接実行するハンズオンコードでC# Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

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

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

「演算子の優先順位と結合規則」レッスンにはどのくらい時間がかかりますか?

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

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

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

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

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