Ausdrücke und arithmetische Operatoren
Du möchtest mehr über die verschiedenen Rechenregeln und arithmetischen Operatoren erfahren? Im folgenden Beitrag erklären wir dir alles Wichtige zu diesem Thema in Java.
Inhaltsübersicht
Java Operatoren – Was sind Ausdrücke?
Um aus Variablen Ausdrücke aufzustellen, musst du zunächst wissen, was überhaupt ein Ausdruck ist. Ein Ausdruck in Java ist eine Kombination von Literalen, die verwendet wird, um einen Wert zu berechnen. Solche Kombinationen können Zeichenketten, Variablen, Operatoren und Klammern sein. Werte und Variablen unterscheiden sich nur darin, dass Variablen einen Wert besitzen, der mitsamt Namen und Datentyp während der Programmlaufzeit dauerhaft aufrufbar ist.
Ausdrücke enthalten Operatoren und Operanden. Die Operatoren wie plus, minus, mal und geteilt sind dir ja bereits bekannt. Ein Operand ist der Wert, auf den ein Operator einwirkt.
Ausdrücke und Operatoren bilden: Java Modulo Operator
Bei der Bildung von Ausdrücken musst du einige Dinge beachten: Bei Java gibt es eine Syntax, also eine korrekte Ausdrucksweise, die eingehalten werden muss. Die Regeln für korrekte Java Ausdrücke sind aber fast die gleichen wie in der Algebra.
Bei den Operatoren gibt es nicht nur die vier einfachen, sondern noch drei weitere. Die Addition und Subtraktion, die mit einem Plus und Minus dargestellt werden, besitzen die geringste Präzedenz in arithmetischen Ausdrücken.
Du fragst dich jetzt, was eine Präzedenz ist? Sie bestimmt die Rangfolge der Operatoren. Du kennst ja bestimmt den Spruch „Punkt vor Strich“ aus der Mathematik. In diesem Fall hat Punkt die höhere Präzedenz als Strich und wird somit zuerst berechnet. Bei den arithmetischen Operatoren gilt das gleiche.
Auf der nächst höheren Präzedenzstufe befinden sich die Multiplikation, die mit einem Sternchen dargestellt wird, die Division, die mit einem Schrägstrich symbolisiert wird sowie der Modulo, der mit einem Prozentzeichen dargestellt wird.
Falls du den Modulo noch nicht kennst, hier eine kurze Erklärung: Das Ergebnis einer Modulo-Rechnung beschreibt den Rest, der bei einer ganzzahligen Division übrig bleibt. Zum Beispiel wenn du fünf durch vier teilst, wäre das Ergebnis ja 1,25. Wenn du aber den Modulo von der fünf und der vier nimmst, wäre das Ergebnis eins. Warum? Weil genau das der Rest bei einer Ganzzahligen Division ist.
Kommen wir nun auf die Operatoren zurück. Auf der höchsten Präzedenzstufe befindet sich das unäre Plus und das unäre Minus, beide mit Plus und Minus dargestellt. Diese Operatoren bestimmen, ob ein Wert oder eine Variable negativ oder positiv ist. Damit wäre bei –a*x das Minus vor dem a das unäre Minus und wird in Java als (-a)*x ausgewertet.
Arithmetische Ausdrücke
Da wir nun die verschiedenen arithmetischen Operatoren kennen, betrachten wir nun wieder die arithmetischen Ausdrücke. Dabei musst du wissen, dass eine Ganzzahloperation immer mit 32 oder mehr Bit durchgeführt wird. Wenn zum Beispiel mindestens ein Operand im Ausdruck 64 Bit besitzt, dann wird die Operation mit 64 Bit durchgeführt. Andernfalls wird die Operation immer mit 32 Bit ausgeführt, selbst wenn die Operanden kleiner sind.
Bevor wir uns an einem Beispiel versuchen, ist es noch wichtig zu wissen, dass in der Programmierung bei Ganzzahldivisionen, bei denen das Ergebnis eine Kommazahl ist, immer abgerundet wird. Dabei spielt es keine Rolle wie hoch der Wert nach dem Komma ist. Damit du keinen Werteverlust erleidest, musst du explizit angeben, dass es sich hierbei um eine Gleitpunktdivision handelt. Nur dann wird der Wert als Kommazahl ausgegeben. Das geht ganz einfach, indem einer der beiden Werte in der Division als Gleitpunktzahl, also als Kommazahl, dargestellt wird.
Beispiel
Schauen wir uns ein Beispiel an, in dem wir unser jetziges Wissen anwenden können:
Zuerst deklarieren wir vier Variablen, wovon wir zwei initialisieren. Dann weisen wir den Variablen mittels Ausdrücken neue Werte zu. Wie dir bestimmt schon aufgefallen ist, besitzen var2 und var3 noch keinen Wert. Deswegen dürfen diese Variablen erst dann in Ausdrücken verwendet werden, wenn sie initialisiert wurden. In unserem Fall wurde das auch so gemacht. Wenn eine Variable schon einen Wert besitzt, kann diese in dem Ausdruck vorkommen, obwohl sie auf sich selbst zugewiesen wird. Das bedeutet in der Zeile, in der var0 einen neuen Wert zugewiesen bekommt, besitzt die Variable var0 im Ausdruck den Wert, den sie vor der Zuweisung hatte. In diesem Fall ist das eins. Am Schluss geben wir das Ergebnis var0 auf dem Bildschirm mittels print line aus.