Operatoren

Operatoren sind elementare Anweisungen, sie bestimmen die (Rechen-)Operation, die mit den angrenzenden Werten durchgeführt werden soll. Viele Operatoren sind aus der Mathematik hinlänglich bekannt, wie auch bei Formeln kann man mit ihrere Hilfe komplizierte Berechnungen aus wenigen einfachen Grundrechenarten zusammenstellen - die Klammerregeln sind ebenfalls direkt aus der Arithmetik übertragbar. Für das Programmieren sehr wichtig sind ausserdem Operatoren, die mit Wahrheitswerten arbeiten. Jeder Programmiersprache kennt Operatoren, und zumindest die wichtigsten unterscheiden sich kaum:

Zuweisungsoperatoren
Entsprechend gibt es auch Kurzformen für die anderen Arithmetischen Operationen, z.B. *=, /=, ...
 * ~ **//Operator//** ||~ **//Bezeichnung//** ||~ **//Bedeutung//** ||
 * = \ = || einfache Zuweisung || a = b; weist a den Wert von b zu und speichert ihn in der Variable a ||
 * = += || Additionszuweisung || a += b; Kurzform für a = a + b, speichert den Wert a+b in der Variable a ||
 * = -= || Subtraktionszuweisung || a -= b; Kurzform für a = a - b, speichert den Wert a-b in der Variable a ||

Arithmetische Operatoren

 * ~ **//Operator//** ||~ **//Bezeichnung//** ||~ **//Bedeutung//** ||
 * = + || Addition || a+b ergibt die Summe von a und b (bei Zahlen) ||
 * = + || Konkatenation || "ab"+"c" ergibt "abc" - das geht nur mit Strings ||
 * = - || Negatives Vorzeichen || -a kehrt das Vorzeichen um ||
 * = - || Subtraktion || a-b ergibt die Differenz von a und b ||
 * = * || Multiplikation || a*b ergibt das Produkt aus a und b ||
 * = / || Division || a/b ergibt den Quotienten von a und b ||
 * = % || Modulo || a%b ergibt den Restwert der Division a/b ||
 * = ++ || Inkrement || a++ erhöht a um 1 ||
 * = -- || Dekrement || a-- verringert a um 1 ||

Vergleichsoperatoren
Wenn Strings verglichen werden geht es nach der Reihenfolge im Latin-1 Zeichensatz, d.h. Grossbuchstaben sind kleiner als Kleinbuchstaben. Beim Vergleich von Referenztypen (Objekte, Arrays) werden nur die Referenzen verglichen und nicht die Objekte selbst. So können zwei verschiedene Arrays nie gleich sein, selbst wenn sie aus den gleichen Elementen bestehen. Vergleichsoperatoren kann man sich als eine Ja/Nein-Frage vorstellen: a > b stellt die Frage, ob der Wert von a grösser ist als der Wert von b. Die Antwort auf eine solche Frage ist in jedem Fall ein Wahrheitswert, nämlich entweder true (entspricht Wahr, Ja, Stimmt) oder false (entspricht Falsch, Nein, Stimmt nicht).
 * ~ **//Operator//** ||~ **//Bezeichnung//** ||~ **//Bedeutung//** ||
 * = < || kleiner als || a || größer als || a>b ergibt true, wenn a größer als b ist ||
 * = <= || kleiner gleich || a<=b ergibt true, wenn a kleiner oder gleich b ist ||
 * = >= || größer gleich || a>=b ergibt true, wenn a größer oder gleich b is ||
 * = == || Gleichheit || a==b ergibt true, wenn a gleich b ist ||
 * = //=//== || strikte Gleichheit || a===b ergibt true, wenn a gleich b ist und a und b vom gleichen Datentyp sind ||
 * = != || Ungleichheit || a!=b ergibt true, wenn a ungleich b ist ||
 * = !== || strikte Ungleichheit || a!==b ergibt true, wenn a ungleich b ist und a und b vom gleichen Datentyp sind ||

Logische Operatoren
Ist einer der beiden Operatoren false, wird false zurückgegeben. || Alle logischen Operatoren vergleichen Boolesche Werte (true, false) und geben auch einen Booleschen Wert zurück. Auf diese Weise kann man mehrere Wahrheitswerte miteinander in Verbindung bringen, z.B. ergibt der Ausdruck //a > 3 && a < 10// nur dann true, wenn a sowohl grösser als drei als auch kleiner als 10 ist, also beide Einzelfragen mit true beantwortet werden.
 * ~ **//Operator//** ||~ **//Bezeichnung//** ||~ **//Bedeutung//** ||
 * = && || logisches UND (AND) || a&&b ergibt true, wenn sowohl a als auch b true sind.
 * = //| |// || logisches ODER (OR) || a | | b ergibt true, wenn mindestens einer der beiden Ausdrücke true ist. ||
 * = ! || logisches NICHT (NOT) || !a ergibt true, wenn a false ist, und ergibt false, wenn a true ist. ||