Thomas Mell: Tüftler gesucht

Beitrag lesen

Hallo,

Worin besteht eigentlich der Unterschied ob ich nun & oder AND oder einfach nur ein Komma nehme?

Es gibt auch Unterschiede zwischen "&", "&&", "" und "". Wenn nur "&" oder "" in einem logischen Vergleich stehen, werden erst beide Seiten des Ausdruckes ausgewertet und dann verglichen. Sollte dort jedoch "&&" oder "" stehen, wird erst der linke Ausdruck ausgewertet. Sollte dies schon zu einem klaren Ergebnis führen (true bei "" oder false bei "&&") dann wird der rechte Ausdruck gar nicht mehr beachtet.
Kleines Beispiel:

a=10;
if(a==20 && b==10)

Obwohl b garnicht existiert wird keine Fehlermeldung ausgegeben, da "a==20" schon false und somit "&&" ebenfalls false ergibt. Somit wird "b==10" nicht beachtet. Schreibt man jedoch:

a=10;
if(a==20 & b==10)

Hier erscheint eine Fehlermeldung das b nicht existiert, da erst beide Seiten von "&" ausgewertet werden.

grüße
Thomas Mell