Reihenfolge und Bindung von Operatoren

Wie wir in der Schule schon gelernt haben, geht Punktrechnung vor Strichrechnung.

1+2*3 = 7 und nicht 9 wie bei (1+2)*3

Ähnliche Regeln gibt es auch für Operatoren.


Beispiel:

Wir möchten ein Programm schreiben, welches Grad Celsius in Fahrenheit umrechnet. Vom Wert Fahrenheit wird die Zahl 32 abgezogen und das Ergebnis mit 5/9 multipliziert.

celsius = fahrenheit - 32 * 5/9

Um ein korrektes Ergebnis zu erhalten müssen wir unbedingt klammern.

celsius = (fahrenheit - 32) * 5/9 

Dies ist recht einfach.

Doch wie ist es mit anderen Operatoren?

 

Wie zum Beispiel:

boolean a=false,
        b=false,
        c=true;
 
        System.out.println( a && b || c );   //Das Ergebnis ist true

 

Hier gilt: Das UND bindet stärker als das ODER.

Da es hier viele verschiedene Rangordnungen gibt haben wir die Möglichkeit in Tabellen nachzusehen oder besser, einfach zu klammern.

 

Beispiel:

a / b / c


Dieser Ausdruck wird von links nach rechts ausgewertet. Zuerst (a/b) und dann /c

Auch hier gilt: Klammern setzen, dann gibt es keine Missverständnisse.