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.
Also dann rücken wir mal gleich mit der ganzen Wahrheit raus.
&& und sind logische Operatoren. Da interessiert es nur ob die verknüpften Werte wahr oder falsch sind, bzw. 0 und nicht 0 oder "" oder "sonstetwas".
Dadurch wird auch die andere Seite nicht ausgewertet, wenn das Ergebnis schon klar ist. 0 && b kann ja unmöglich wahr werden, wozu dann noch prüfen?
Da gibt es dann noch die bitweisen Operatoren & ^ << >>
Die Verknüpfen zwei Werte Bitweise. Anstatt den ganzen Wert als 0 oder 1-Frage anzusehen, wird die Verknüpfung mit jedem Bit der beiden Operanden durchgeführt.
00010110 & 10010011 = 00010010
00010110 && 10010011 = 1