English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Unterschied zwischen java & und &&: & ist sowohl ein Bit- als auch ein Logikoperator, die beiden Seiten von & können int oder boolean-Ausdrücke sein, wenn die beiden Seiten von & int sind, müssen die beiden Seiten der Operatoren zuerst in Binärzahlen umgewandelt werden, bevor sie berechnet werden, während die beiden Seiten von && immer boolean-Ausdrücke sein müssen.
Viele Menschen stoßen, wenn sie Java lernen oder bei einem Vorstellungsgespräch sind, darauf
& und &&
Allerdings wird dir das viel Kopfzerbrechen bereiten, wenn du ihre Bedeutung nicht wirklich verstehst
In diesem Blog, wenn du es gelesen hast, wirst du feststellen, dass es sehr einfach ist, sie zu unterscheiden
Hier ist mein Demo
/**
*
*/
package com.b510.test;
/**
* @author Jone Hongten
* @create date:2013-11-2
* @version 1.0
*/
public class Test {
public static void main(String[] args) {
String str = null;
if(str != null && !"".equals(str)){
//Etwas tun
}
if(str != null & !"".equals(str)){
//Etwas tun
}
}
}
Wir könnten vielleicht verwirrt sein, also schauen wir uns zunächst die Stromprobleme von & und && an:
Für: &&
if(str != null && !"".equals(str))
Wenn str != null, wird erst der nächste Befehl: !"".equals(str) ausgeführt.
Wenn str != null false ist, dann ist das Programm in einer Kurzwahlposition, dann wird !"".equals(str) nicht ausgeführt.
Aber für: &
if(str != null & !"".equals(str))
Unabhängig davon, wie das Ergebnis von str != null ist (also true, false), führt das Programm immer: !"".equals(str) aus
Zusammenfassung von Stromproblemen:
Für: & -- Unabhängig davon wird der Programmcode links und rechts vom Symbol "&" immer ausgeführt.
Für: && -- Wenn das Symbol "&&" links der Programmcode wahr (true) ist, wird der Programmcode rechts vom Symbol "&&" ausgeführt.
Lassen Sie uns über die Berechnungsregeln sprechen:
Für: & -- Wenn eines der beiden Seiten false ist, ist das Ergebnis false; nur wenn alle true sind, ist das Ergebnis true
Für: && -- Wenn das Symbol links von false ist, ist das Ergebnis false; wenn links true und rechts auch true, dann ist das Ergebnis true
Vielen Dank für das Lesen, ich hoffe, es kann Ihnen helfen, danke für Ihre Unterstützung dieser Website!