Der Unterschied zwischen & und && in Java: 1. Wenn der &&-Operator funktioniert und der Wert des ersten Ausdrucks falsch ist, wird der zweite Ausdruck nicht berechnet, während der &-Operator sich nicht um den ersten Ausdruck kümmert Ausdrücke werden ausgeführt, unabhängig davon, ob der Wert jedes Ausdrucks wahr ist. 2. Der &-Operator kann als bitweiser Operator verwendet werden, der &&-Operator jedoch nicht.
Die Betriebsumgebung dieses Tutorials: Windows7-System, Java8-Version, DELL G3-Computer.
In Java sind && und & beide logische Operatoren, die „und“ darstellen, was „und“ bedeutet. Sie sind alle wahr, wenn die Ausdrücke auf beiden Seiten wahr sind und das gesamte Operationsergebnis wahr ist, andernfalls ist es falsch. Als nächstes werden wir in dem Artikel die Unterschiede zwischen den beiden im Detail vorstellen. Der Unterschied zwischen
& und &&
& und && sind beide logische Operatoren, aber && wird auch als Kurzschlussoperator bezeichnet. Denn wenn der Wert des ersten Ausdrucks falsch ist, wird der zweite Ausdruck nicht ausgewertet
und & führt beide Ausdrücke aus, unabhängig davon, ob der erste Ausdruck wahr ist. Darüber hinaus kann & auch als bitweiser Operator verwendet werden, wenn die Ausdrücke auf beiden Seiten von & nicht vom booleschen Typ sind und eine bitweise Operation darstellt.
&& Operation
int i = 0; if(i == 3 && ++i > 0 ) { } System.out.println("i = " + i);
Das Ergebnis ist:
i = 0
Ursache: Der zweite Ausdruck wird nicht ausgeführt
& Operation
int i = 0; if(i == 3 & ++i > 0 ) { } System.out.println("i = " + i);
Das Ergebnis ist:
i = 1
Der zweite Ausdruck wird ausgeführt
Erweiterte Kenntnisse: Logische Operatoren
Logische Operatoren verbinden die relationalen Ausdrücke verschiedener Operationen zu einem komplexen logischen Ausdruck, um zu bestimmen, ob der Ausdruck im Programm wahr ist und das Ergebnis der Bestimmung wahr oder falsch ist.
Logische Operatoren arbeiten mit booleschen Variablen und ihre Ergebnisse sind ebenfalls boolesch, wie in Tabelle 1 gezeigt.
Operator | Verwendung | Bedeutung | Erklärung | Beispiele | Ergebnis |
---|---|---|---|---|---|
&& | a&&b | Kurzschluss mit | ab Wann Alle sind wahr, das Berechnungsergebnis ist wahr, andernfalls ist es falsch. | 2>1&&31dd7b8dd660a0f70528136212e1ff0454 | falsch |
! | !a | Logisches NICHT | Wenn a wahr ist, ist der Wert falsch, wenn a falsch ist, ist der Wert wahr | ! (2> ;4) | wahr |
| | a|b | Wenn das logische ODER | ab ganz falsch ist, ist das Berechnungsergebnis falsch, andernfalls ist es wahr | 1>2|3>5 | falsch |
& | a&b | logisch UND | ab alle wahr sind, ist das Berechnungsergebnis wahr, andernfalls ist es falsch | 1<2&3<5 | wahr |
||. Wenn a wahr ist, wird b nicht berechnet (denn unabhängig vom Wert von b ist das Ergebnis wahr)
Hinweis: Kurzschluss UND (&&) und Kurzschluss ODER (||) können Verwenden Sie die optimierteste Berechnungsmethode, um die Effizienz zu verbessern. Bei der eigentlichen Programmierung sollte der Verwendung von Kurzschluss-UND und Kurzschluss-ODER Vorrang eingeräumt werden.
Variablen oder Ausdrücke mit einem booleschen Ergebnis können durch logische Operatoren zu logischen Ausdrücken kombiniert werden. Logische Operatoren &&, || und ! Führen Sie logische Operationen gemäß Tabelle 2 durch.
a | b | a&&b | a||b | !a |
---|---|---|---|---|
true | true | true | wahr | falsch |
falsch | wahr | falsch | wahr | wahr |
wahr | falsch | falsch | wahr | falsch |
falsch | falsch | falsch | falsch | wahr |
逻辑运算符的优先级为:!运算级别最高,&& 运算高于 || 运算。!运算符的优先级高于算术运算符,而 && 和 || 运算则低于关系运算符。结合方向是:逻辑非(单目运算符)具有右结合性,逻辑与和逻辑或(双目运算符)具有左结合性。
下面是一些使用逻辑运算符的示例。
x>0 && x<=100 // 第一行语句 y%4==0 || y%3==0 // 第二行语句 !(x>y) // 第三行语句
其中,第一行语句用于判断 x 的值是否大于 0 且小于或等于 100,只有两个条件同时成立结果才为真(true)。第二行语句用于判断 y 的值是否能被 4 或者 3 整除,只要有一个条件成立,结果就为真(true)。第三行语句先比较 x 和 y,再将比较结果取反,即如果 x 大于 y 成立,则结果为假(false),否则为真(true)。
更多编程相关知识,请访问:编程教学!!
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen & und && in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!