Einführung in Java 6
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.