Verschiedene Ausdruckstypen definieren

Abgeschlossen

Ein Ausdruck ist eine Formel, die angibt, wie ein gewünschter Wert generiert und dann zu einem Wert ausgewertet wird. Ein Ausdruck verwendet Begriffe und einen Operator, der unär oder binär sein kann.

Bei einem unären Operator wirkt sich der Operator auf den Begriff aus, der direkt darauf folgt. Ein binärer Operator wirkt sich auf beide Seiten des Operators aus.

Sie können Operatoren in einen der folgenden Operatortypen einteilen:

  • Unär

  • Zeichenfolge

  • Arithmetisch

  • Relational

  • Logisch

Unäre Operatoren

Ein unärer Operator wirkt sich nur auf den Begriff aus, der direkt auf den Operator folgt. Die folgenden Werte sind unäre Operatorenwerte:

  • +

  • -

  • NOT

Wenn Sie das Minuszeichen (-) verwenden, wird ein negativer Wert des Ausdrucks erstellt, der nach dem Minuszeichen steht. Daher hat dies nur Auswirkungen auf den Begriff, der dem Operator folgt.

var
    CustomerExists: Boolean;
    MyBoolean: Boolean;
begin
    CustomerExists := true;
    MyBoolean := NOT CustomerExists;
    // Will result in MyBoolean: false
end;

Die nächsten Operatoren sind alle binären Operatoren, die sich auf Bedingungen auf beiden Seiten des Operators auswirken.

Zeichenfolgenoperatoren

Der einzige Zeichenfolgenoperator ist das Pluszeichen (+), ein binärer Operator, da er sich auf Begriffe auf beiden Seiten des Operators auswirkt. Der Zeichenfolgenoperator verkettet zwei Zeichenfolgen.

Beispiel für die Verwendung eines Zeichenfolgenoperator in AL

Arithmetische Operatoren

Arithmetische Operatoren werden bei numerischen Ausdrücken verwendet. Ein numerischer Ausdruck ist eine Formel, die zu einem numerischen Wert führt.

Die folgenden arithmetischen Operatoren stehen zur Verfügung:

  • Plus (+)

  • Minus (-)

  • Zeiten (*)

  • Dividieren (/)

  • Ganzzahldivision (DIV)

  • Modulo (MOD)

var
    MyExpression: Integer;
begin
    MyExpression:= 5 + 2 * 3;
    // Will result in MyExpression: 11
end;

Abhängig von den Datentypen, die Sie mit arithmetischen Operatoren verwenden, können Sie als Ergebnis andere Datentypen erhalten.

17/8 = 2.125
17/9 = 1.88

Der Divisionsoperator oder die Division ist die normale mathematische Division, mit der Sie gewohnt sind, zu arbeiten. Wenn Sie zwei ganzzahlige Werte teilen, enden Sie immer mit einem Dezimal-Wert.

Der Ganzzahldivisionsoperator (DIV) gibt den Integer-Quotienten der Integer-Division zurück. Es ist ein binärer Operator, der einen ganzzahligen Wert ergibt. Sie können das Ergebnis einer Ganzzahldivision berechnen, indem Sie alle Dezimalstellen des Ergebnisses löschen.

17 DIV 8 = 2   The decimal portion 125 is dropped
17 DIV 9 = 1   The decimal portion 88 is dropped

Der Moduloperator (MOD) findet den Rest der Division einer Zahl durch eine andere Zahl. Der Moduloperator wird häufig verwendet, wenn Sie Nummern wie Bankkontonummern validieren.

5 MOD 2 = 1   5 = (2x2) + 1
17 MOD 9 = 8   17 = (9x1) + 8

Wenn Sie die Operatoren vergleichen, treten die folgenden Ergebnisse auf:

5 / 2 = 2.5
5 DIV 2 = 2
5 MOD 2 = 1

Die Reihenfolge, in der Operatoren angewendet werden, kann sich erheblich auf die Ergebnisse Ihrer Berechnungen auswirken.

  • Höchste Ebene:

    Unärer Operator

  • Zweite Ebene:

    * , / , DIV, MOD

  • Niedrigste Ebene:

    + , ‑ (binär)

Sie können die Operator-Prioritätseffekte mithilfe von „Teilausdrücken ()“ ändern. Teilausdrücke werden immer zuerst ausgewertet, und Sie können sie verwenden, indem Sie Klammern „()“ hinzufügen.

5 + 3 * 6 – 2 DIV -2 = ?

First Level:
5 + 3 * 6 – 2 DIV -2

Second Level:
5 + 3 * 6 – 2 DIV -2
= 5 + 18 – (-1)

Lowest Level:
+ and –
23 -(-1) = 24

Relationale Ausdrücke

Die folgenden relationalen Ausdrücke stehen zur Verfügung:

  • = (gleich)

  • < (kleiner als)

  • > (größer als)

  • <= (kleiner oder gleich)

  • >= (größer oder gleich)

  • <> (ungleich)

  • IN (im Satz enthalten)

Relationale Operatoren haben die niedrigste Priorität aller Operatoren. Mit relationalen Ausdrücken können Sie Werte in Bezug auf kleiner oder größer, gleich, kleiner als oder größer als vergleichen. Sie können die relationale Operatoren in folgenden Situationen verwenden:

  • Numerische Vergleiche – Numerische Vergleiche sind klar; Sie vergleichen den numerischen Wert.

  • Zeichenfolgenvergleiche – Zeichenfolgen werden mit dem Unicode-Datum verglichen, um festzustellen, welcher Wert zuerst kommt.

  • Datums‑ und Zeitvergleiche – Der Kalender wird verwendet, um zu bestimmen, welcher Wert zuerst kommt.

  • Boolesche Vergleiche – Der Wert false kommt vor dem Wert true.

Der Satzeinschluss (mit dem Operator IN) ist eine Liste von Werten, wie im folgenden Beispiel gezeigt:

[2,4,6,8,10]
[1..9,11..19]

Der IN-Operator überprüft, ob ein bestimmter Wert in einem Satz enthalten ist oder nicht.

5 IN [2,4,6,8,10] is FALSE
5 IN [1..9,11..19] is TRUE
5 IN [2,4..6,8,10] is TRUE
10 IN [1..9,11..19] is FALSE
'M' IN ['A'..'Z'] is TRUE

Logische Ausdrücke

Die folgenden logischen Ausdrücke stehen zur Verfügung:

  • AND

  • OR

  • XOR

  • NOT

Logische Operatoren werten auch in den Werten „true“ und „false“ aus (sie führen zu booleschen Werten). Logische Operatoren vergleichen keine regulären Werte wie Zeichenfolgen, Zahlen oder Datumsangaben. Sie vergleichen boolesche Werte, während Vergleichsoperatoren Werte basierend auf Unterschieden in ihren Werten vergleichen.

Das folgende Beispiel zeigt einen Vergleich zwischen den verschiedenen logischen Operatoren.

Tabellen, die die Unterschiede zwischen logischen Operatoren anzeigen.

  • Mit dem NOT-Operator werden alle logischen Werte zurückgesetzt. Ein NOT True führt zu False und ein NOT False führt zu True.

  • Mit dem ODER-Operator muss einer der Werte True sein, um True zu erhalten. Andernfalls ist der Wert False.

  • Mit dem UND-Operator müssen beide Werte True sein, um True zu erhalten. Andernfalls ist der Wert False.

  • Mit dem XOR-Operator (Exclusive OR) darf nur einer der Werte True sein, um True zu erhalten. Andernfalls ist der Wert False.

Das folgende Beispiel fasst alle Operatoren zusammen.

Beispiel für die Auswirkungen der Operatorenrangfolge

Boolesche Ausdrücke

Beim Programmieren oder Verwenden der Anwendungssprache treten auch boolesche Ausdrücke auf. Ein boolescher Ausdruck ist ein Ausdruck, der zu einem booleschen Wert führt. Dazu können Sie eine boolesche Variable oder Konstante verwenden. In der Regel werden relationale und logische Ausdrücke in booleschen Werten ausgewertet.