Neulich kam die Frage auf ob in der Sprache C festgelegt ist, dass die Verkettungen mit && oder || von links her abgearbeitet werden und abgebrochen wird sobald die weitere Auswertung sinnlos ist.
Ist das so definiert?
und wie siehts in Java aus?
Ich verlasse mich da relativ oft darauf, z.b. versuche ich zur Zeit mit:
boolean success = true;
success = funktion() && success;
rauszufinden ob die funktion() jemals schiefging. Es scheint zu gehen, wenn er aber z.b. von rechts her auswerten würde, würde er gar nicht mehr nach funktion() reingehen, nach dem ersten Fehler.
In Scriptsprachen wie Perl etc. sieht man ja auch oft:
tuirgendwas() || error…;
Bruno