Operatoren
Inhaltsverzeichnis |
[Bearbeiten] Arithmetische Operatoren
Auf Operanden, die einen arithmetischen Typ tragen, werden die usual arithmetic conversions angewendet, um die Typen einander anzugleichen und den Typ des Resultats zu bestimmen.
[Bearbeiten] + (Addition)
Addiert die Werte seiner Operanden und gibt das Ergebnis zurück.
int i = 3; int n = i + 5;
[Bearbeiten] - (Subtraktion)
Subtrahiert die Werte seiner Operanden und gibt das Ergebnis zurück.
int i = 5; int n = i - 3;
[Bearbeiten] * (Multiplikation)
Multipliziert die Werte seiner Operanden und gibt das Ergebnis zurück.
int i = 5; int n = 2 * i;
[Bearbeiten] / (Division)
Dividiert die Werte seiner Operanden und gibt das Ergebnis zurück. Bei der Division von Ganzzahlen fällt ein eventueller Rest weg, es wird also nicht gerundet.
int i = 10 / 3; // i erhält den Wert 3
[Bearbeiten] % (Modulo)
Dividiert die Werte seiner Operanden und gibt den Divisionsrest zurück. Kann nur auf ganzzahlige Operanden angewendet werden. Ist mindestens ein Operand negativ, so ist das Vorzeichen des Resultats implementationsabhängig.
int i = 10 % 3; // i erhält den Wert 1
[Bearbeiten] Zuweisungen
[Bearbeiten] ++ (Inkrement)
Erhöht den Wert seines Operanden um 1.
i = 2; i++; // i hat den Wert 3
Bezüglich der Priorität unterscheidet man zwischen Postfix- und Präfix-Notation. Die Postfix-Notation (i++) hat eine höhere Priorität als die Präfix-Notation (++i).
[Bearbeiten] -- (Dekrement)
Vermindert den Wert seines Operanden um 1.
i = 2; i--; // i hat den Wert 1
Bezüglich der Priorität unterscheidet man zwischen Postfix- und Präfix-Notation. Die Postfix-Notation (i--) hat eine höhere Priorität als die Präfix-Notation (--i).
[Bearbeiten] = (Zuweisung)
Weist seinem linken Operanden den Wert des rechten Operanden zu
i = 3; // i hat den Wert 3
[Bearbeiten] Kombinierte Zuweisungsoperatoren
Die kombinierten Zuweisungsoperatoren kombinieren den Zuweisungsoperator (=) mit einem anderen Operator:
- +=
- -=
- *=
- /=
- %=
- &=
- <<=
- >>=
- ^=
- |=
Dabei wird der linke Operator sowohl als linker Operator für die Zuweisung als auch für den anderen Operator verwendet.
a += b;
bedeutet also
a = a + (b);
Die Klammer um b soll verdeutlichen, dass gesamte rechte Ausdruck zuerst berechnet wird.
[Bearbeiten] Vergleiche
[Bearbeiten] == (Gleichheit)
Ergibt den boolschen Wert true, wenn die beiden Operanden gleich sind, sonst false.
[Bearbeiten] != (Ungleichheit)
Ergibt den boolschen Wert true, wenn die beiden Operanden ungleich sind, sonst false.
[Bearbeiten] <= (kleiner oder gleich)
Ergibt den boolschen Wert true, wenn der linke Operand kleiner oder gleich dem rechten ist, sonst false.
[Bearbeiten] >= (größer oder gleich)
Ergibt den boolschen Wert true, wenn der linke Operand größer oder gleich dem rechten ist, sonst false.
[Bearbeiten] < (kleiner)
Ergibt den boolschen Wert true, wenn der linke Operand kleiner als der rechte ist, sonst false.
[Bearbeiten] > (größer)
Ergibt den boolschen Wert true, wenn der linke Operand größer als der rechte ist, sonst false.
[Bearbeiten] Aussagenlogik
[Bearbeiten] && (Und-Verknüpfung)
Verknüpft die beiden Operanden und gibt true zurück, wenn beide Operanden den Wert true haben, sonst false. Kann das Ergebnis bereits vorhergesagt werden, nachdem der erste Operand ausgewertet wurde (dh, wenn dieser false ist, ist das Ergebnis sicher false), wird der zweite Operand nicht mehr ausgewertet.
[Bearbeiten] || (Oder-Verknüpfung)
Verknüpft die beiden Operanden und gibt true zurück, wenn einer der beiden Operanden den Wert true hat, sonst false. Kann das Ergebnis bereits vorhergesagt werden, nachdem der erste Operand ausgewertet wurde (dh, wenn dieser true ist, ist das Ergebnis sicher true), wird der zweite Operand nicht mehr ausgewertet.
[Bearbeiten] ! (Negierung)
Invertiert den Wert seiner Operanden. Aus true wird false und umgekehrt.