Heim >Java >JavaBase >Was ist der Unterschied zwischen & und && in Java?

Was ist der Unterschied zwischen & und && in Java?

青灯夜游
青灯夜游Original
2023-01-06 15:07:008806Durchsuche

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.

Was ist der Unterschied zwischen & und && in Java?

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.

Wenn
Tabelle 1 Verwendung, Bedeutung und Beispiele logischer Operatoren
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.

Tabelle 2 Logische Operationen mit logischen Operatoren
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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn