2019-11-03 17:51:04 +00:00
parent d5f86cf7f2
commit a2c40f96f3

@@ -4,15 +4,17 @@ Rangfolge der Operatoren, von stark zu schwach bindend.
| Typ | Symbole | Beispiele | Anmerkungen |
| --------------------------------- | ------------- | ----------------------- | ----------------------------|
| Unäre Operatoren | -, !, ++, -- | | |
| Multiplikation, Division, Modulus | *, /, % | | |
| Addition, Subtraktion | +, - | | |
| Relationale Operatoren | <, >, <=, >= | | |
| Gleichheits-Operatoren | ==, != | | |
| Logische Operatoren | &, \| | | |
| Short-Circuit-Operatoren | &&, \|\| | | |
| Zuweisungs-Operatoren | =, +=, -= | | |
| Unäre Operatoren | -, !, ++, -- | -7 * 4, !myBoolean | |
| Multiplikation, Division, Modulus | *, /, % | 7 % 4 | `/ 0` erzeugt Exception |
| Addition, Subtraktion | +, - | 7 + 4 | |
| Relationale Operatoren | <, >, <=, >= | y > x | |
| Gleichheits-Operatoren | ==, != | y != x | Referenz bei Objekten, nicht mi equals verwechseln! Sonderfall String!
| Logische Operatoren | &, \| | myBool & yourBool | Beide Ausdrücke immer ausgewertet |
| Short-Circuit-Operatoren | &&, \|\| | myBool || yourBool | Auswertung bei Klarheit abgebrochen, damit ggf. keine Seiteneffekte |
| Zuweisungs-Operatoren | =, +=, -= | x += 5 | Zuweisung sehr niedrig priorisiert, |
- Bei gleicher Priorität von links nach rechts, durch Klammerung kann Vorrang geändert werden.
-
- Wo ist der tenäre Operator?
## Stolperfallen
@@ -21,4 +23,5 @@ Rangfolge der Operatoren, von stark zu schwach bindend.
- Short-circuit verhindert Ausführung der weiteren Anweisungen. Darauf achten, ob Seiteneffekte ausgeführt werden!
- Operatoren können in seltenen Fällen unterschiedliche Bedeutung haben (boolean vs. Zahlen, Bit-Shifting)
- Nicht alle sind bei allen Datentypen erlaubt (`*=`)
- `==` und `equals` bei Objekten beachten. String ist ein Sonderfall, da sogar Art der Erzeugung relevant.