Operatoren
Wenn Sie bereits mit anderen Programmiersprachen gearbeitet haben, wird dieses Kapitel wenig neues für Sie bieten. Operatoren in Java sind im wesentlichen so wie in Javascript, C, Perl und anderen Sprachen auch.
Klammern
Ausdrücke in Java werden von links nach rechts ausgewertet. Die arithmetischen Vorrangregeln („Punktrechnung vor Strichrechnung“) werden aber berücksichtigt. Durch runde Klammern „( .. )“ können Sie eine Auswertungsreihenfolge erzwingen.
Eckige Klammern „[ ..]“ werden bei der Definition von Arrays verwendet.
Geschweifte Klammern „{ .. }“ definieren einen Geltungsbereich, beispielsweise eine Klasse oder eine Methode. Sie können mit geschweiften Klammern aber auch willkürlich Geltungsbereiche erzeugen.
Arithmetische Operatoren
Arithmetische Operatoren sind:
| + | a + b | Bildet Summe |
| - | a - b | Differenz |
| * | a * b | Produkt |
| / | a / b | Quotient |
| % | a % b | Modula |
Modula gibt den ganzzahligen Rest einer Division zurück und ist besonders praktisch, wenn man feststellen will, ob eine Zahl durch eine andere teilbar ist. Der „+“ Operator lässt sich wie geschehen auch auf Zeichenketten anwenden.
Zuweisungen
Zuweisung eines Wertes an eine Variable geschieht immer mit dem „=“ einfachen Gleichheitszeichen. Eine verkürzte Schreibweise in Kombination mit arithmetischen Operatoren ist möglich:
a+=b; a-=b; a%=b; // usw.
Die verkürzte Schreibweise a+=b addiert a + b und weist a die Summe zu. Diese Kurzschreibweise ist bei allen arithmetischen Operatoren sowie bei den binären Operatoren zulässig.
Vergleichsoperatoren
Vergleichsoperatoren geben einen Wahrheitswert (true | false) zurück. In Java gibt's:
| == | a == b | true wenn Daten gleich sind. |
| != | a != b | true wenn ungleich |
| > | a > b | true wenn a numerisch grösser als b |
| < | a < b | true wenn a numerisch kleiner als b |
| >= | a >= b | true wenn a numerisch grösser oder gleich b |
| <= | a <= b | true wenn a numerisch kleiner oder gleich b |
Logische Operatoren
Logische Operatoren lassen sich nur auf Wahrheitswerte anwenden. Sie treten daher oft in Verbindung mit Vergleichsoperatoren auf. In Java gibt es:
| ! | !w | not | true wenn w false ist. |
| && | w && a>b | and | true wenn beide Seiten wahr sind |
| || | w || a>b | or | true wenn eine Seite wahr ist. |
Bitte beachten Sie, dass stets zwei Zeichen „&&“ und „||“ geschrieben werden müssen. Die einfache Schreibweise „&“ „|“ gibt's ebenfalls (bei Bits), bedeutet aber etwas anderes.
Operatoren für Bits
Bitweise Operatoren manipulieren die Binärdarstellung von numerischen Werten. Wir wollen uns das ganze anhand eines Beispiels klarmachen. Bitte studieren Sie den Sourcecode und lassen Sie das Programm ablaufen, um die Wirkung der Operationen zu verstehen:
In Zeiten von Gigaherzprozessoren und schier unbegrenztem Speicher sind diese Operationen selten geworden. Hinzu kommt, dass Java meist nicht die Sprache der Wahl für hardwarenahe Programmierung ist, sodass wir es damit bewenden lassen wollen. Falls Sie die bitweisen Operationen noch nicht richtig verstanden habe, trösten Sie sich damit, dass Sie sie vermutlich nie brauchen werden.
Weiteres
"new" ist ein Operator, der ein neues Objekt erzeugt. Der Operator „instanceof“ stellt fest, ob ein Objekt einer bestimmten Klasse angehört. Dazu mehr im Kapitel über Klassen.