Nein. Zum Beispiel ist das Folgende ebenfalls ein Ausdruck:
"Das ist" + " ein String" + "-Ausdruck"
Operator | Bedeutung | Präzedenz |
---|---|---|
- | unäres Minus | höchste |
+ | unäres Plus | höchste |
* | Multiplikation | mittel |
/ | Division | mittel |
% | Modulo | mittel |
+ | Addition | niedrig |
- | Subtraktion | niedrig |
Aber arithmetische Ausdrücke sind besonders wichtig. Wie wir gesehen haben hat Java viele arithmetische Operatoren.
Alle diese Operatoren können für Gleitpunkt- und für Ganzzahlen verwendet werden. (Nur der % Operator wird selten für Gleitpunktzahlen verwendet.) Zum Beispiel bedeutet "/" Ganzzahldivision, wenn beide Operanden ganze Zahlen sind und bedeutet Gleitpunktdivision, wenn einer oder beide Operanden Gleitpunktzahlen sind.
Eine Ganzzahloperation wird immer mit 32 oder mehr Bit durchgeführt.
Wenn einer oder beide Operanden 64 Bit hat (Datentyp long
),
dann wird die Operation mit 64 Bit durchgeführt.
Andernfalls wird die Operation mit 32 Bit durchgeführt, auch wenn beide Operanden kleiner sind.
Zum Beispiel, bei einer 16-Bit short
-Variablen wird die Arithmetik mit 32 Bit durchgeführt:
short x = 12; // 16 Bit short int ergebnis; // 32 Bit int ergebnis = x / 3; // für die Arithmetik werden 32 Bit verwendet
Der Ausdruck x / 3
dividiert eine 32-Bit 12 durch eine 32-Bit 3 und stellt das 32-Bit Ergebnis in ergebnis
.
Das Literal 3 repräsentiert automatisch einen 32-Bit Wert.
Spielt es wirklich eine Rolle, dass die 12 in 32-Bit konvertiert wurde?