Computer, Informatik, Internet und Programmieren
29 Mrz
In den letzten Java-Tutorials haben wir fast instinktiv Operatoren genutzt und ich habe noch einige logische Operatoren erwähnt. In diesem Java-Tutorial möchten wir und nun näher mit Operatoren befassen.
Betrachten wir uns dafür folgenden Programmcode:
int ersteVariable = 5; int zweiteVariable; zweiteVariable = ersteVariable * 2;
Wir deklarieren uns die zwei Variablen ersteVariable und zweiteVariable. Der erstenVariable weisen wir den Wert 5 zu. Die zweiteVariable bekommt ein Ergebnis einer mathematischen Formel zugewiesen.
Wo stehen nun die Operatoren? Der erste Operator, der zum Einsatz kommt, ist der Zuweisungsoperator =, der beispielsweise einer Variablen, die vor diesem Operator steht, einen bestimmten Wert, der dahinter kommt, zuweist.
Einen weiteren Operator finden wir in der Multiplikation. Der * – Operator multipliziert zwei Werte miteinander. Die Variable ersteVariable und die Zahl 2 werden hierbei als Operanden bezeichnet.
In Java findet man im Grunde drei Arten von Operatoren. So gibt es die unären Operatoren, die nur auf einen Operanden Anwendung finden. Der große Bruder davon ist der binäre Operator, oder auch zweistellige Operator. Diese sind beispielsweise Operatoren, die in der Mathematik gebraucht werden – also Plus, Minus, Mal und Geteilt. Wie man auch vermuten kann, kommt jetzt der dreistellige Operator. So gibt es auch den Fragezeichenoperator (?-Operator), der zur Fallunterscheidung genutzt werden kann:
Syntax: Bedingung ? Dann-Fall : Sonst-Fall
Mit Operatoren ist es uns möglich einzelne Ausdrücke zu neuen Ausdrücken zu verbinden – wie in der Mathematik bei der Addition. Operatoren, die zur üblichen Rechnung genutzt werden, bezeichnet man auch als arithmetische Operatoren (+, -, *, /, %). Der %-Operator, oder auch Modulo-Operator / Restwert-Operator gibt uns den Rest einer Division zurück. So bekämen wir bei dem Ausdruck 5 % 3 als Ergebnis die Zahl 2, denn 5 / 3 = 1 Rest 2.
Weiter oben haben wir den Zuweisungsoperator = kennen gelernt. Schauen wir uns diesen Code an:
int meinAlter = 55; System.out.println("Ich habe Geburtstag!"); meinAlter = meinAlter + 1; System.out.println("Mein neues Alter ist jetzt " + meinAlter);
Da der Informatiker relativ schreibfaul ist, finden wir in vielen Programmiersprachen – so auch in Java – die Verbundoperatoren. Diese verkürzen Ausdrücke wie meinAlter = meinAlter + 1 auf meinAlter += 1. Dies gilt auch für die Subtraktion (-=), Multiplikation (*=) und Division (/=).
In diesem Code hat sich aber auch noch ein weiterer Operator versteckt. Es ist das überladene Plus (+) für Strings. Damit ist es uns möglich etwas von beliebigem Typ an eine Zeichenkette zu hängen. In unserem Beispiel: im letzten Systen.out.println() wird die Zahl 55 aus meinAlter an den String “Mein neues Alter ist jetzt ” gehängt.
Zwei weitere Operatoren, die uns schreibfaule Informatiker unterstützen, sind die Präfix-Inkrement bzw. Postfix-Inkrement und Präfix-Dekrement bzw. Postfix-Dekrement Operatoren. Damit ist es uns möglich eine Zahl um eine Eins zu erhöhen bzw. zu verringern. Dazu wird beispielsweise vor oder hinter einer Variablen ein ++ oder ein — geschrieben.
So hätten wir auch anstatt
meinAlter = meinAlter + 1;
einfach schreiben können
meinAlter++Hätten wir zufällig einen Jungbrunnen entdeckt, könnten wir auch schreiben
meinAlter--Aus der Mathematik kennen wir auch Operatoren, wie Kleiner (<), Größer (>), Kleiner-gleich(<=), und Größer-gleich (>=). Diese können wir in Java als Vergleichsoperatoren verwenden und haben es auch schon im Java-Tutorial: Fallunterscheidungen getan. So haben wir geschrieben:
int meinAlter = 55; int rentenalter = 66; if(meinAlter < rentenalter) { System.out.println(„Rentenalter nicht erreicht – weiterackern!“); }
Hier haben wir verglichen, ob die Variable meinAlter kleiner ist als die rentenalter. Zwei weitere Vergleichsoperatoren sind == und !=. Damit ist es uns möglich zu überprüfen, ob zwei Werte gleich, oder ungleich sind. Alle Vergleichsoperatoren liefern uns als Ergebnis einen boolschen Wert, der entweder true oder false ist. So liefert uns beispielsweise meinAlter < rentenalter ein true, denn es ist wahr, dass meinAlter kleiner ist als das rentenalter. Schrieben wir meinAlter == rentenalter, bekämen wir ein false, denn meinAlter ist eben nicht gleich rentenalter. So liefert meinAlter != rentenalter wiederum true.
Widmen wir uns jetzt aber den logischen Operatoren AND (&&), OR(||), XOR (^) und dem Nicht (!) zu. Mit diesen Operatoren ist es uns möglich verschiedene boolsche Ausdrücke zu verknüpfen. Zum Beispiel ist es uns jetzt möglich zu überprüfen, ob meinAlter < rentenalter und zugleich meinAlter > 17 ist. In Java-Code geschrieben sieht das wie folgt aus:
meinAlter < rentenalter && meinAlter > 17
Der Ausdruck meinAlter < rentenalter liefert uns true, ebenso wie meinAlter > 17, somit ist der gesamte Ausdruck ebenfalls true, denn der AND-Operator liefert uns nur ein Wahr, wenn beide Ausdrücke, die miteinander verbunden werden auch wahr sind. Dagegen liefert uns der OR-Operator immer dann ein Wahr, wenn mindestens ein boolscher Ausdruck darin wahr ist, das uns folgender Code zeigt:
meinAlter < 17 || meinAlter < rentenalter
meinAlter < 17 ist falsch. Dagegen ist meinAlter < rentenalter wie bereits erwähnt wahr. Als Ergebnis liefert uns der ||-Operator ein true.
Möchte man dagegen das Oder aus dem üblichen Sprachgebrauch verwenden, das besagt, dass entweder dies oder das gilt, so wenden wir uns an den XOR-Operatoren. Der XOR-Operator liefert uns nur dann einen wahren Wert, wenn entweder der eine Ausdruck, oder der andere Ausdruck, die miteinander verknüpft werden, wahr sind.
meinAlter < rentenalter ^ meinAlter > 17
Dieser Ausdruck liefert uns false, denn sowohl meinAlter < rentenalter, als auch meinAlter > 17 sind wahr.
Der letzte Operator, den wir in diesem Java-Tutorial behandeln werden ist der Nicht-Operator. Er dreht einfach einen boolschen Wert um. So wird aus einem Wahr ein Falsch und umgekehrt.
!(meinAlter < 17)
Bei diesem Code bekommen wir also ein true, denn meinAlter < 17 liefert uns ein Falsch. Dieses wird durch den Nicht-Operator zu einem Wahr.
Damit haben wir das Kapitel Operatoren hinter uns gebracht und können uns anderen schönen Dingen in Java zuwenden.