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

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

Jan 06, 2023 pm 03:07 PM
java

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&gt;0 &amp;&amp; x&lt;=100    // 第一行语句
y%4==0 || y%3==0    // 第二行语句
!(x&gt;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!

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

Heiße Artikel -Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Quadratwurzel in Java Quadratwurzel in Java Aug 30, 2024 pm 04:26 PM

Quadratwurzel in Java

Perfekte Zahl in Java Perfekte Zahl in Java Aug 30, 2024 pm 04:28 PM

Perfekte Zahl in Java

Zufallszahlengenerator in Java Zufallszahlengenerator in Java Aug 30, 2024 pm 04:27 PM

Zufallszahlengenerator in Java

Armstrong-Zahl in Java Armstrong-Zahl in Java Aug 30, 2024 pm 04:26 PM

Armstrong-Zahl in Java

Weka in Java Weka in Java Aug 30, 2024 pm 04:28 PM

Weka in Java

Smith-Nummer in Java Smith-Nummer in Java Aug 30, 2024 pm 04:28 PM

Smith-Nummer in Java

Fragen zum Java Spring-Interview Fragen zum Java Spring-Interview Aug 30, 2024 pm 04:29 PM

Fragen zum Java Spring-Interview

Brechen oder aus Java 8 Stream foreach zurückkehren? Brechen oder aus Java 8 Stream foreach zurückkehren? Feb 07, 2025 pm 12:09 PM

Brechen oder aus Java 8 Stream foreach zurückkehren?

See all articles