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):
- Parantezler
() - Çarpma/Bölme
* / % - Toplama/Çıkarma
+ -
- Karşılaştırma operatörleri
< > <= >= - Eşitlik operatörleri
== !=
- Mantıksal VE
&& - Mantıksal YA DA
|| - 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);Görev
KolayEvaluateExpression 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):
- Parantezler
() - Çarpma/Bölme
* / % - Toplama/Çıkarma
+ - - Karşılaştırma operatörleri
< > <= >= - Eşitlik operatörleri
== != - Mantıksal VE
&& - Mantıksal VEYA
|| - Atama operatörleri
= += -=vb.
Örnek:
int result = 5 + 3 * 2; // sonuç 11 olur, 16 değilKarmaşık mantıksal ifade:
bool result = 5 > 3 && 10 < 20 || 7 == 8;
// Değerlendirilir: true && true || false = true || false = trueAçı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
}
}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
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety