Operatoren

Arithmetische Operatoren sind +, -, *, / und %. Sie werden für die aus der Mathematik bekannten Grundrechenarten verwendet. Es handelt sich wie aus der Mathematik bekannt ausschließlich um binäre Operatoren. Binäre Operatoren sind Operatoren, die jeweils genau zwei Werte oder Variablen benötigen. Auf beiden Seiten von binären Operatoren muss also jeweils ein Wert oder eine Variable stehen – ansonsten meldet der Compiler einen Fehler.

Die arithmetischen Operatoren ermöglichen die Ausführung der vier Grundrechenarten: Mit + können Werte oder Variablen addiert werden, mit - subtrahiert werden, mit * multipliziert und mit / dividiert werden. Der Operator % ist der Modulo-Operator: Er führt ebenso wie / eine Division aus, gibt jedoch als Ergebnis den ganzzahligen Restwert der Division zurück.

int a, b, c; 

a = 6; 
b = 4; 
c = a + b; 
c = a - b; 
c = a * b; 
c = a / b; 
c = a % b; 

Logische Operatoren ermöglichen es, Wahrheitswerte zu verknüpfen. Die logischen Operatoren && und || sind binäre Operatoren, der logische Operator ! ist ein unärer Operator. Unäre Operatoren erwarten nur einen Operanden, während binäre Operatoren zwei Operanden erwarten.

bool b1, b2, r; 

b1 = true; 
b2 = false; 
r = b1 && b2; 
r = b1 || b2; 
r = !b1; 

Der Operator && ist das logische UND. Dieser Operator gibt als Ergebnis den Wahrheitswert true zurück, wenn genau beide Operanden true sind. Ist auch nur einer der beiden Operanden false, gibt das logische UND als Ergebnis false zurück.

Das || ist das logische ODER. Das logische ODER gibt als Ergebnis den Wahrheitswert true zurück, wenn mindestens einer der beiden Operanden true ist. Sind beide Operanden false, gibt das logische ODER als Ergebnis false zurück.

Der unäre logische Operator ! gibt false zurück, wenn der Operand true ist, und gibt true zurück, wenn der Operand false ist. Dieser Operator heißt NICHT-Operator. Er dreht den Wahrheitswert des Operanden einfach um.

Wie bei den arithmetischen Operatoren muss auch bei den logischen Operatoren das Ergebnis explizit gespeichert werden, wenn es nicht verloren gehen soll. Die letzte Zeile im obigen Beispiel, in der der logische Operator ! angewandt wird, liefert als Ergebnis den Wahrheitswert false zurück. Die Variable b1 ist nach dieser Zeile jedoch noch immer auf true gesetzt – der Wert der Variablen b1 ändert sich nicht!


Logische Operatoren ermöglichen es, Wahrheitswerte zu verknüpfen. Die logischen Operatoren && und || sind binäre Operatoren, der logische Operator ! ist ein unärer Operator. Unäre Operatoren erwarten nur einen Operanden, während binäre Operatoren zwei Operanden erwarten.

bool b1, b2, r; 

b1 = true; 
b2 = false; 
r = b1 && b2; 
r = b1 || b2; 
r = !b1; 

Der Operator && ist das logische UND. Dieser Operator gibt als Ergebnis den Wahrheitswert true zurück, wenn genau beide Operanden true sind. Ist auch nur einer der beiden Operanden false, gibt das logische UND als Ergebnis false zurück.

Das || ist das logische ODER. Das logische ODER gibt als Ergebnis den Wahrheitswert true zurück, wenn mindestens einer der beiden Operanden true ist. Sind beide Operanden false, gibt das logische ODER als Ergebnis false zurück.

Der unäre logische Operator ! gibt false zurück, wenn der Operand true ist, und gibt true zurück, wenn der Operand false ist. Dieser Operator heißt NICHT-Operator. Er dreht den Wahrheitswert des Operanden einfach um.

Wie bei den arithmetischen Operatoren muss auch bei den logischen Operatoren das Ergebnis explizit gespeichert werden, wenn es nicht verloren gehen soll. Die letzte Zeile im obigen Beispiel, in der der logische Operator ! angewandt wird, liefert als Ergebnis den Wahrheitswert false zurück. Die Variable b1 ist nach dieser Zeile jedoch noch immer auf true gesetzt – der Wert der Variablen b1 ändert sich nicht!

Inkrement- und Dekrement-Operator

int a, b; 

a = 5; 
b = 1; 
a += b; 

Die Variable a wird in diesem Fall um den Wert 1 erhöht; man könnte auch sagen inkrementiert. Um Variablen lediglich um den Wert 1 zu erhöhen, gibt es den speziellen Inkrement-Operator ++. Es handelt sich hierbei um einen unären Operator. Folgender Code macht also das gleiche wie obiger Code.

int a; 

a = 5; 
++a; 

So wie es einen Inkrement-Operator gibt, gibt es auch einen Dekrement-Operator. Mit -- wird der Wert einer Variablen um 1 verringert.

Inkrement- als auch Dekrement-Operatoren können auch hinter einer Variablen angegeben sein. Ob sie vor oder hinter einer Variablen stehen kann entscheidend sein. Betrachten Sie folgendes Beispiel.

int a, b; 

a = 5; 
b = ++a; 
b = a++; 

Nachdem obiger Beispiel-Code zu Ende gelaufen ist, ist in der Variablen b der Wert 6, in der Variablen a der Wert 7 gespeichert. Was ist passiert? Steht der Inkrement-Operator vor der Variablen, wird die Variable erhöht und der um 1 erhöhte Wert zurückgegeben. Steht der Inkrement-Operator hinter der Variablen, wird die Variable erhöht, jedoch der vorherige noch nicht um 1 erhöhte Wert zurückgegeben. In beiden Fällen erhält also im obigen Beispiel die Variable b den Wert 6 zugewiesen.

Was für den Inkrement-Operator gilt, gilt natürlich auch für den Dekrement-Operator. Auch hier kann es entscheidend sein, ob der Operator vor oder hinter der Variablen angegeben ist.