Menu
Coddy logo textTech

Operator Precedence

CoddyのC#ジャーニー「ロジックとフロー」セクションの一部 — レッスン 38/66。

演算子の優先順位は、式内で演算子が評価される順序を決定します。優先順位を理解することは、正しい論理式を書く上で極めて重要です。

この例を見てください:

int result = 5 + 3 * 2;

result の値は何ですか? それは 11 で、16 ではありません。乗算は加算よりも優先順位が高いためです。

以下は簡略化した優先順位の順序(最高から最低へ)です:

  1. 括弧 ()
  2. 乗算/除算 * / %
  3. 加算/減算 + -
  1. 比較演算子 < > <= >=
  2. 等価演算子 == !=
  1. 論理 AND &&
  2. 論理 OR ||
  3. 代入演算子 = += -= など。

これがどのように適用されるか見てみましょう:

bool result = 5 > 3 && 10 < 20 || 7 == 8;

まず、比較が評価されます: 5 > 3true10 < 20true、そして 7 == 8false
次に、論理 AND: true && truetrue
最後に、論理 OR: true || falsetrue

したがって結果はtrueです。

コードを明確にするために括弧を使用してください:

bool result = (5 > 3 && 10 < 20) || (7 == 8);
challenge icon

チャレンジ

簡単

名前が EvaluateExpression のメソッドを作成し、3つの整数 (a, b, c) を受け取り、boolean を返します。

このメソッドはこの式の結果を返すべきです:
a > b || a == c && b < c

次に、名前が EvaluateWithParentheses のもう一つのメソッドを作成し、以下の式を評価します:
(a > b || a == c) && b < c

プログラムはコンソールから3つの整数を読み込み、両方の評価結果を別々の行に印刷します。

チートシート

演算子の優先順位は、式内の演算子が評価される順序を決定します。

優先順位の順序(高いものから低いものへ):

  1. 括弧 ()
  2. 乗算/除算 * / %
  3. 加算/減算 + -
  4. 比較演算子 < > <= >=
  5. 等価演算子 == !=
  6. 論理 AND &&
  7. 論理 OR ||
  8. 代入演算子 = += -= など

例:

int result = 5 + 3 * 2; // result is 11, not 16

複雑な論理式:

bool result = 5 > 3 && 10 < 20 || 7 == 8;
// Evaluates to: true && true || false = true || false = true

明確にするために括弧を使用:

bool result = (5 > 3 && 10 < 20) || (7 == 8);

自分で試してみよう

using System;

class Program
{
    public static bool EvaluateExpression(int a, int b, int c)
    {
        // ここにコードを書いてください
    }
    
    public static bool EvaluateWithParentheses(int a, int b, int c)
    {
        // ここにコードを書いてください
    }
    
    static void Main(string[] args)
    {
        Console.WriteLine("Enter three integers:");
        int a = int.Parse(Console.ReadLine());
        int b = int.Parse(Console.ReadLine());
        int c = int.Parse(Console.ReadLine());
        
        // メソッドを呼び出して結果を出力してください
    }
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

ロジックとフローのすべてのレッスン