Operatorrangfolge
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.
Schau dir dieses Beispiel an:
int result = 5 + 3 * 2;Welchen Wert hat result? Es ist 11, nicht 16, weil die Multiplikation einen höheren Vorrang als die Addition hat.
Hier ist eine vereinfachte Präzedenzordnung (von höchster zu niedrigster):
- Klammern
() - Multiplikation/Division
* / % - Addition/Subtraktion
+ -
- Vergleichsoperatoren
< > <= >= - Gleichheitsoperatoren
== !=
- Logisches AND
&& - Logisches OR
|| - 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);Aufgabe
EinfachErstellen 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.
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
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen 2D-Arrays2D-Arrays deklarieren und initialisierenAuf Elemente von 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysGezackte ArraysHäufige MatrixoperationenZusammenfassung – Mehrdimensionale Arrays4Techniken zur Ablaufsteuerung
Frühe RückgabenWächterklauselnSprunganweisungen (goto)Break und ContinueVerschachtelte Bedingungen abflachen7Logische Operatoren – Fortgeschritten
KurzschlussauswertungBedingte logische OperatorenOperatorrangfolgeRückblick – Erweiterte Operatoren2Fortgeschrittene Entscheidungslogik
Mehrere BedingungenKomplexe boolesche LogikVergleich: If vs. SwitchVerschachtelte Switch-AnweisungenRückblick – Fortgeschrittene Entscheidungen5Fehlerbehandlung mit Exceptions
Grundlagen von Try-CatchException-TypenMehrere Catch-BlöckeArbeiten mit DateienFinally-BlockUsing im Vergleich zu Try-FinallyBenutzerdefinierte ExceptionsZusammenfassung – Fehlerbehandlung3Schleifenverbesserungen
SchleifenleistungKomplexe IterationJeder SchleifentypSchleifen refaktorierenRückblick – Optimierte Schleifen6Behandlung von Nullwerten
Grundlagen von NullreferenzenNullable WerttypenMuster zur NullprüfungDefensive ProgrammierungZusammenfassung – NullsicherheitÜbe selbstständig: Online-C#-Compiler