Operatoren in Delphi

Quellcode. [© Philipp Gerbig]

In der Programmiersprache Delphi gibt es viele Operatoren. Ich möchte hier versuchen, diese zu erläutern.

Man kann diese – ebenso wie die Schleifen – auf andere Programmiersprachen wie C#, C++, PHP, Visual Basic… übertragen.
Allerdings ist auch hier wieder Vorsicht geboten.


Arithmetische Operatoren

Arithmetische Operatoren verknüpfen zwei Werte von Variablen oder Konstanten und liefern das entsprechende Ergebnis zurück. Wichtig ist, dass der Typ des Ergebnisses von den Eingangstypen und von der Operation abhängt.

Für ganzzahlige Berechnungen gibt es zwei spezielle Operatoren: div und mod.

Operator Operation Eingangstypen Ergebnistyp
+ Addition ganzzahlig, reell ganzzahlig, reell
Subtraktion ganzzahlig, reell ganzzahlig, reell
* Multiplikation ganzzahlig, reell ganzzahlig, reell
/ Division ganzzahlig, reell reell
div ganzzahlige Division ganzzahlig ganzzahlig
mod Rest einer ganzzahligen Division ganzzahlig ganzzahlig

Hinweis zum Plus-Operator (+): Sind beide Variablen Zeichenketten, so hängt der +Operator diese zu einem einzigen String zusammen.


Logische Operatoren

Logische Operatoren verknüpfen eine oder zwei Eingangsvariablen nach den jeweiligen logischen Verknüpfungsregeln.
Sowohl die Eingänge als auch die Ausgänge sind Boole’sche Werte (true oder false).

Operator Operation
not Negation
and logisches und
or logisches oder
xor exklusives oder

Vergleichsoperatoren

Mit Vergleichsoperatoren können jeweils typ-gleiche Operanden verglichen werden. Als Ergebnis wird ein logischer Wert zurückgeliefert (true oder false).

Operator Operation
= gleich
<> ungleich
< kleiner
<= kleiner gleich
> größer
>= größer gleich

Rangfolge von Operatoren

Wenn man einen komplizierten arithmetischen oder logischen Ausdruck auswertet, hängt das Ergebnis von der Reihenfolge der Anwendung der einzelnen Operatoren ab. Die Reihenfolge kann man gezielt durch Einsatz von Klammern kontrollieren.

Stufe 1 (höchste Präzedenz): Unäre Operatoren
@ Adresse einer Variablen oder Funktion (liefert einen Pointer zurück)
not logische oder bitweise Negation
Stufe 2: Multiplikative und bitweise Operatoren
* Multiplikation; Schnittmenge
/ Gleitkommadivision
div Ganzzahlige Division
mod Modulo (Rest einer Integer-Division)
as Typumwandlung (typecast)
and logisches oder bitweises UND
shl bitweise Verschiebung nach links
shr bitweise Verschiebung nach rechts
Stufe 3: Additive Operatoren
+ Addition, Vereinigungsmenge, String-Verkettung
Subtraktion, Differenzmenge
or logisches oder bitweises ODER
xor logisches oder bitweises Exklusiv-ODER
Stufe 4 (niedrigste Präzedenz): Vergleichsoperatoren
= Test auf Gleichheit
<> Ungleichheit
< kleiner als
> größer als
<= kleiner oder gleich, oder eine Teilmenge einer Menge
>= größer oder gleich, oder eine Obermenge einer Menge
in Test ob ein Wert Element einer Menge ist
is Test ob ein Objekt typkompatibel ist

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.