Java Operatoren
Wie im vorherigen Blog Artikel Java-Compiler, Variablen und Methoden zum Oracle Certified Associate (OCA) bereits gezeigt werden Variablen erstellt mit denen über Methoden operiert werden.


Es können nun verschiedene Operatoren genutzt werden, welche in einer bestimmten Reihenfolge vom Compiler ausgewertet werden. Bei gleichwertigen Operatoren wertet der Compiler von links-nach-rechts der Ausdruck aus.
- Post-Inkrement und Post-Dekrement-Operatoren für eine nachhergehende Auswertung des Ausdrucks
- myVariable++ myVariable–


- Pre-Inkrement und Pre-Inkrement-Operatoren für eine vorhergehende Auswertung des Ausdrucks
- ++myVariable, –myVariable


- Unäre Operatoren, in der ein Operand beteiligt ist
- Einerkoplement: ~
- Logisches Nicht: !
- Positives Vorzeichen: +
- Negatives Vorzeichen: –
- Multiplikation, Division und Modulu
- Multiplikation: *
- Division: /
- Modulo oder Rest: %
- Addition und Substraktion
- Addition: +
- Substraktion: –
- Schiebeoperatoren zum Verschieben von Bits
- Linkschieben: <<
- Rechtsschieben: >>
- Rechtsschieben mit Nullexpansion (das höchswertigeste Bit wird immer auf 0 gesetzt) >>>
- Relationale Operatoren
- Kleiner-Operator: <
- Größer-Operator: >
- Kleiner-Gleich-Operator:<=
- Größer-Gleich-Operator: >=
- Klassenzugehörigkeit: instanceof
- Gleichheit und Ungleichheitsoperator
- Gleichheit: ==
- Ungleicheit: !=
- Bitweise Operatoren
- Bitweises-Und: &
- Bitweises-Oder: |
- Bitweises-Exklusiv-Oder: ^
- Logische Operatoren und für Operatoren für eine schnellere Auswertung des Ausdrucks
- Und: &&
- Oder: ||
- Fragezeichenoperator oder Bedingungsoperator
- boolean checkExpresssion ? firstExpression : secondExpression
- Zuweisungsoperator
- Zuweisung: =
- Addition und Zuweisung: +=
- Substraktion und Zuweisung: -=
- Multiplikation und Zuweisung: *=
- Division und Zuweisung: /=
- Modulu und Zuweisung: %=
- Bitweises-Und und Zuweisung: &=
- Bitweises-Oder und Zuweisung: |=
- Bitweises-Exklusiv-Oder und Zuweisung: ^=
- Linksschieben und Zuweisung: <<=
- Rechtsschieben und Zuweisung: >>=
- Rechtsschieben mit Nullexpansion und Zuweisung: >>>=
Java Anweisungen
In Java kann der sequentielle Programmablauf durch Verzweigungen oder Schleifen beeinflusst werden. Eine Verzweigung ermöglicht das Ausführen einer bestimmten Programmlogik nach Prüfung einer Bedingung. Eine Schleife ermöglicht ein mehrfaches Ausführen einer Programmlogik durch die Prüfung einer Bedingung nach jedem ausführen der Anweisungen innerhalb des Schleife.
Bei einer Verzweigung (If-Teil) wird im Kopf der Verzweigung ein Ausdruck auf Wahrheit geprüft (true oder false, wahr oder unwahr). Sofern der Ausdruck wahr ist, wird der Körper der Verzweigung ausgeführt. Sofern der Ausdruck unwahr ist, wird der Programmablauf fortgesetzt oder die Ausdrücke in einen alternativen Verzweigungsteil (else-Teil) ausgeführt. Eine else-If-Teil ermöglicht eine erneute alternative Prüfung auf Wahrheit eines Ausdrucks und Ausführung von Anweisungen in einer Verzweigung.
Bei mehrfachen Überprüfungen eines Ausdrucks nach Wahrheit und Ausführung von Anweisungen bietet sich in Java ein switch-case Anweisung an. Durch eine Prüfung im Switch-Teil können bei der Erfüllung verschiedener Bedingungen, Ausdrücke ausgewertet werden.
Ausdrücke können mehrfach wiederholt ausgeführt werden. Hierfür stehen while-Schleifen, do-while-Schleifen und for-Schleifen zur Verfügung. While-Schleifen ermöglichen eine wiederholte Ausführung von Anweisungen nach einer Prüfung einer Bedingung.
If-Anweisung, If-else Anweisung und If-else-If-else Anweisung
Variablenzustände können erst zur Laufzeit bekannt werden, beispielsweise wenn auf eine Benutzerenigabe gewartet werden muss. Es kann sobald eine bestimmte Nutzereingabe erfolgte, eine andere Programmlogik oder Anweisungen ausgeführt an.
If-Anweisung
Hierfür steht in Java die Bedingte Anweisung oder If-Anweisung zur Verfügung.

Sofern nach der Prüfung der If-Anweisung nur eine weitere Anweisungen ausgeführt werden soll, so wird keine Klammer benötigt. Bei mehreren Anweisungen wird eine Klammer benötigt.
If-else-Anweisung
Sofern stattdessen eine alternative Logik ausgeführt werden soll, wird diese in dem else-Zweig ausgeführt.

Wie bei einer If-Anweisung gilt bei einer If-Else Answeisung die gleiche Regel mit den Codeblöcken und geschweiften Blöcken {}. Sofern nur eine Anweisung nach den Bedingungsblöcken folgt, können die geschweiften Klammern weggelassen werden.
Sofern eine zweite Bedingung geprüft werden soll, so kann nach den else-Zweig noch eine Wahrheitsprüfung stattfinden.
If-else-If-else-Anweisung
Eine If-else Anweisung emöglicht eine Ausführung einer Programmlogik falls nach der Wahrheitsprüfung im ersten If-Teil false oder unwahr als Ergebnis liefert.

Mit einer If-else-If-else-Anweisung kann eine mehrfache Verzweigung mit Überprüfung verschiedener Wahrheitswerte überprüft werden.
Switch-Case Anweisung
Switch-Case Anweisung
Bei einer Switch-Case Anweisung wird je nach Eingabewert im Switch-Teil eine Anweisung ausgeführt. Sofern kein Fall zutrifft kann im Default-Teil eine Anweisung ausgeführt werden.

While Anweisungen
While Anweisung
Mit einer while Anweisung können Anweisungen mehrfach nach der Überprüfung einer Bedingung ausgeführt werden. Wenn das Ergebnis der Auswertung falsch ist, so wird die while-Anweisung angehalten.

Do-While Anweisung
Mit deiner Do-While Anweisung wird mindestens einmal der Körper der While-Anweisung ausgeführt. Nach der Anweisung wird der Kopf der While Anweisung auf Wahrheit überprüft.

For-Anweisung
Mit einer For-Anweisung können Anweisungen mehrfach ausgeführt werden. Wie die While-Anweisung ist es möglich, bis zu einer bestimmten Bedingung Anweisungen auszuführen. Die erweiterte For-Anweisung ermöglicht ein vereinfachtes durchlaufen der For-Anweisung.
For-Anweisung
Bei einer For-Anweisung werden die Anweisungen solange ausgeführt, bis die Bedingung nicht mehr wahr ist. Im ersten Teil des Kopfes der For-Anweisung wird eine Variable initialisiert, welche nach jedem Ausführen des Code-Blocks der For-Anweisung aktualisiert wird. Die Aktualisierung der Laufvariable und die Abbruchbedingung wird in Kopf der For-Schleife erstellt. Es muss hierbei die lokale Variable im Kopf der For-Anweisung initialisiert werden.

Mit einem For-Anweisung kann ein Array durchlaufen werden.

Erweiterte For-Anweisung
Die erweiterte For-Anweisung ermöglicht ein vereinfachtes durchlaufen einer Liste oder Array Liste.

Eingeschachtelte For-Anweisungen
Es können For-Anweisungen ineinander geschachtelt werden und sequentiell ausgewertet werden.

For-Anweisung mit Label, Continue und Break.
Eine For-Anweisung kann mit einen Label, Continue und Break versehen werden, was die Programmausführung der Schleife beeinflusst.
Die Break-Anweisung bricht die aktuelle Ausführung der For-Anweisung ab.

Eine Continue-Anweisung ermöglichte ein springen zum nächsten Kopf einer For-Anweisung.

Das setzen eines Labels ermöglicht ein Springen an eine Stelle im Programmablauf und unterbricht den aktuellen Schleifendurchlauf.

Weiterführende Literatur
- OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808 von Jeanne Boyarsky, Scott Selikoff, 2015
- Java als erste Programmiersprache von Joachim Goll und Cornelia Heinisch, 2016
- Grundkurs JAVA von Dietmar Abts, 2016
- The Java™ Tutorials von Oracle