Dieser Artikel stellt Ihnen die Unterschiede zwischen &, |, && und || vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
In Java heißt & bitweises UND, && heißt Kurzschluss-AND. Der Unterschied zwischen ihnen ist:
& ist sowohl ein bitweiser Operator als auch ein logischer Operator. Beide Seiten von & können int sein oder boolescher Ausdruck: Wenn beide Seiten von & Ints sind, müssen die Zahlen auf beiden Seiten des Operators vor der Operation in Binärzahlen umgewandelt werden. Allerdings müssen beide Seiten des Kurzschluss-ANDs (&&) boolesche Ausdrücke sein. Zum Beispiel: Welchen Wert hat
12&5? Antwort: 12 in Binärzahl umgewandelt ist 1100 (die ersten vier Ziffern werden weggelassen), 5 in Binärzahl umgewandelt ist 0101, dann ist das Ergebnis nach der Operation 0100 oder 4. Dies ist, wenn beide Seiten numerische Werte sind
Wenn int i = 2, j = 4; dann ist das Ergebnis von (++i=2) & (j++=4) falsch. Der Vorgang ist wie folgt: Bestimmen Sie zunächst, ob ++i=2 festgelegt ist hier (3 == 2) , aber das Programm ermittelt weiterhin, ob der nächste Ausdruck wahr ist, j++=4, dieser Ausdruck ist wahr, aber der &-Operator erfordert, dass die Werte auf beiden Seiten des Operators wahr sind Das Ergebnis ist wahr, also (++i =2)&(j++=4), das Ergebnis ist falsch. Hinweis: Die Bedingung dafür, dass
& wahr ist, ist, dass beide Ausdrücke auf beiden Seiten wahr sind, aber selbst wenn Wenn wir feststellen, dass der Wert des Ausdrucks auf der linken Seite falsch ist, muss das Programm noch ausgeführt werden, um festzustellen, ob der Ausdruckswert auf der rechten Seite wahr oder falsch ist. Wenn int i = 2, j = 4, dann ist das Ergebnis von (++i=2)&&(j++=4) ist falsch Der Prozess ist im Grunde derselbe wie oben, aber wenn der Wert des Ausdrucks auf der linken Seite falsch ist, beurteilt das Programm nicht weiter, ob Der Ausdruck rechts ist wahr oder falsch, das ist wahrscheinlich die Bedeutung des Wortes Kurzschluss von 2.
Denn bei der bedingten Beurteilung von if bestimmt das Programm zunächst, ob der erste Ausdruck 3>2 wahr ist und das Ergebnis 3>2 wahr ist, und dann gemäß der Logik, unabhängig davon, ob der folgende Ausdruck (i++)>1 ist wahr ist oder nicht, muss der gesamte or-Ausdruck wahr sein, damit das Programm die Beurteilung des nächsten Ausdrucks nicht ausführt, d. h. (i++)>1, sodass i hier nicht um 1 erhöht wird. Dann wird das Programm ausgeführt, bis i=i+1, sodass i 1 wird. Drucken Sie abschließend 1 aus.
int i=0; if(3>2 || (i++)>1) i=i+1; System.out.println(i);
Java-Video-Tutorial
“
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen &, |, && und ||?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!