Menu
Coddy logo textTech

Operator Precedence

Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy — Lektion 38 von 66.

Die Operatorrangfolge bestimmt die Reihenfolge, in der Operatoren in einem Ausdruck ausgewertet werden. Das Verständnis der Rangfolge ist entscheidend für das Schreiben korrekter logischer Ausdrücke.

Sehen Sie sich dieses Beispiel an:

int result = 5 + 3 * 2;

Was ist der Wert von result? Es ist 11, nicht 16, weil die Multiplikation eine höhere Präzedenz als die Addition hat.

Hier ist eine vereinfachte Präzedenzordnung (von höchster zu niedrigster):

  1. Klammern ()
  2. Multiplikation/Division * / %
  3. Addition/Subtraktion + -
  1. Vergleichsoperatoren < > <= >=
  2. Gleichheitsoperatoren == !=
  1. Logisches AND &&
  2. Logisches OR ||
  3. Zuweisungsoperatoren = += -= usw.

Lassen Sie uns sehen, wie das angewendet wird:

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

Zuerst werden die Vergleiche ausgewertet: 5 > 3 ist true, 10 < 20 ist true, und 7 == 8 ist false.
Dann logisches UND: true && true ist true.
Schließlich logisches ODER: true || false ist true.

Also ist das Ergebnis true.

Verwenden Sie Klammern, um Ihren Code klarer zu machen:

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

Aufgabe

Einfach

Erstellen Sie eine Methode namens EvaluateExpression, die drei Ganzzahlen (a, b, c) annimmt und einen booleschen Wert zurückgibt.

Ihre Methode sollte das Ergebnis dieses Ausdrucks zurückgeben:
a > b || a == c && b < c

Erstellen Sie dann eine weitere Methode namens EvaluateWithParentheses, die auswertet:
(a > b || a == c) && b < c

Ihr Programm sollte drei Ganzzahlen von der Konsole einlesen und die Ergebnisse beider Auswertungen in separaten Zeilen ausgeben.

Spickzettel

Operatorrangfolge bestimmt die Reihenfolge, in der Operatoren in einem Ausdruck ausgewertet werden.

Rangfolge (von höchster zu niedrigster):

  1. Klammern ()
  2. Multiplikation/Division * / %
  3. Addition/Subtraktion + -
  4. Vergleichsoperatoren < > <= >=
  5. Gleichheitsoperatoren == !=
  6. Logisches UND &&
  7. Logisches ODER ||
  8. Zuweisungsoperatoren = += -= usw.

Beispiel:

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

Komplexer logischer Ausdruck:

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

Verwenden Sie Klammern für Klarheit:

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

Probier es selbst

using System;

class Program
{
    public static bool EvaluateExpression(int a, int b, int c)
    {
        // Schreibe deinen Code hier
    }
    
    public static bool EvaluateWithParentheses(int a, int b, int c)
    {
        // Schreibe deinen Code hier
    }
    
    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());
        
        // Rufe deine Methoden auf und drucke die Ergebnisse aus
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf