Menu
Coddy logo textTech

Operator Precedence

Coddy'nin C# Journey'sinin Mantık & Akış bölümünün bir parçası — ders 38 / 66.

Operatör önceliği, bir ifadede operatörlerin değerlendirilme sırasını belirler. Önceliği anlamak, doğru mantıksal ifadeler yazmak için kritik öneme sahiptir.

Bu örneğe bakın:

int result = 5 + 3 * 2;

result'ın değeri nedir? 11'dir, 16 değil, çünkü çarpma toplama işlemine göre daha yüksek önceliğe sahiptir.

İşte basitleştirilmiş bir öncelik sırası (en yüksekten en düşüğe):

  1. Parantezler ()
  2. Çarpma/Bölme * / %
  3. Toplama/Çıkarma + -
  1. Karşılaştırma operatörleri < > <= >=
  2. Eşitlik operatörleri == !=
  1. Mantıksal VE &&
  2. Mantıksal YA DA ||
  3. Atama operatörleri = += -= vb.

Bunu nasıl uyguladığını görelim:

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

İlk olarak, karşılaştırmalar değerlendirilir: 5 > 3 truedur, 10 < 20 truedur ve 7 == 8 falsedır.
Sonra, mantıksal VE: true && true truedur.
Son olarak, mantıksal VEYA: true || false truedur.

Yani sonuç true.

Kodunuzu daha net hale getirmek için parantez kullanın:

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

Görev

Kolay

EvaluateExpression adında bir metot oluşturun ki üç tamsayı (a, b, c) alsın ve bir boolean dönsün.

Metodunuz bu ifadenin sonucunu döndürmelidir:
a > b || a == c && b < c

Sonra, şu ifadeyi değerlendiren EvaluateWithParentheses adında başka bir metot oluşturun:
(a > b || a == c) && b < c

Programınız konsoldan üç tamsayı okumalı ve her iki değerlendirmenin sonuçlarını ayrı satırlarda yazdırmalıdır.

Kopya kağıdı

Operatör önceliği, bir ifadede operatörlerin değerlendirilme sırasını belirler.

Öncelik sırası (en yükseğinden en düşüğe):

  1. Parantezler ()
  2. Çarpma/Bölme * / %
  3. Toplama/Çıkarma + -
  4. Karşılaştırma operatörleri < > <= >=
  5. Eşitlik operatörleri == !=
  6. Mantıksal VE &&
  7. Mantıksal VEYA ||
  8. Atama operatörleri = += -= vb.

Örnek:

int result = 5 + 3 * 2; // sonuç 11 olur, 16 değil

Karmaşık mantıksal ifade:

bool result = 5 > 3 && 10 < 20 || 7 == 8;
// Değerlendirilir: true && true || false = true || false = true

Açıklık için parantez kullanın:

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

Kendin dene

using System;

class Program
{
    public static bool EvaluateExpression(int a, int b, int c)
    {
        // Kodunuzu buraya yazın
    }
    
    public static bool EvaluateWithParentheses(int a, int b, int c)
    {
        // Kodunuzu buraya yazın
    }
    
    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());
        
        // Yöntemlerinizi çağırın ve sonuçları yazdırın
    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Mantık & Akış bölümündeki tüm dersler