Heim > Java > JavaBase > Hauptteil

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

青灯夜游
Freigeben: 2023-01-06 15:07:00
Original
8510 Leute haben es durchsucht

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);
Nach dem Login kopieren

Das Ergebnis ist:

i = 0
Nach dem Login kopieren

Ursache: Der zweite Ausdruck wird nicht ausgeführt

& Operation

 int i = 0;        
 if(i == 3  & ++i > 0 )
  { 
  }
  System.out.println("i = " + i);
Nach dem Login kopieren

Das Ergebnis ist:

i = 1
Nach dem Login kopieren

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
OperatorVerwendungBedeutungErklärungBeispieleErgebnis
&& a&&b Kurzschluss mit ab Wann Alle sind wahr, das Berechnungsergebnis ist wahr, andernfalls ist es falsch. 2>1&&3<4true
||a||b Kurzschluss oder ab sind alle falsch, das Berechnungsergebnis ist falsch, andernfalls ist es wahr. 2<1||3>4falsch
!!aLogisches NICHT Wenn a wahr ist, ist der Wert falsch, wenn a falsch ist, ist der Wert wahr! (2> ;4)wahr
|a|bWenn das logische ODER ab ganz falsch ist, ist das Berechnungsergebnis falsch, andernfalls ist es wahr1>2|3>5 falsch
&a&blogisch UND ab alle wahr sind, ist das Berechnungsergebnis wahr, andernfalls ist es falsch1<2&3<5wahr
  • ||. 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
aba&&ba||b!a
truetruetrue wahrfalsch
falschwahrfalschwahrwahr
wahrfalschfalschwahrfalsch
falschfalschfalschfalschwahr

逻辑运算符的优先级为:!运算级别最高,&& 运算高于 || 运算。!运算符的优先级高于算术运算符,而 && 和 || 运算则低于关系运算符。结合方向是:逻辑非(单目运算符)具有右结合性,逻辑与和逻辑或(双目运算符)具有左结合性。

下面是一些使用逻辑运算符的示例。

x>0 && x<=100    // 第一行语句
y%4==0 || y%3==0    // 第二行语句
!(x>y)    // 第三行语句
Nach dem Login kopieren

其中,第一行语句用于判断 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!