@@ -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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user