English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Differenza tra & e && in Java: & è sia un operatore bitwise che un operatore logico, entrambi i lati possono essere int o espressioni booleane, quando i lati sono int, è necessario convertire i numeri sui lati dell'operatore in numeri binari prima di eseguire l'operazione, mentre i lati di && devono essere espressioni booleane.
Molti persone, durante lo studio di Java o durante un colloquio, incontrano questo problema
& e &&
Ma se non hai una comprensione reale del loro significato, questo può portare grossi problemi alla tua linea di pensiero
In questo blog, dopo aver letto, scoprirai che è facile distinguerli
Ecco il mio 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)){
//Fare qualcosa
}
if(str != null & !"".equals(str)){
//Fare qualcosa
}
}
}
Ora potremmo essere un po' confusi, diamo un'occhiata prima ai problemi elettrici di & e &&:
Per: &&
if(str != null && !"".equals(str))
Quando: str != null, solo allora verrà eseguito: !"".equals(str)
Se: str != null è false, in questo caso, il programma è in una situazione di cortocircuito, quindi, !"".equals(str) non verrà eseguito.
Ma per: &
if(str != null & !"".equals(str))
Non importa il risultato di: str != null (ovvero true, false), il programma eseguirà: !"".equals(str)
Conclusione dei problemi elettrici:
Per: & --> In ogni caso, il programma a sinistra e a destra del simbolo "&" viene eseguito
Per: && --> Solo quando il programma a sinistra del simbolo "&&" è vero (true), il programma a destra del simbolo "&&" viene eseguito.
Parliamo delle regole di calcolo:
Per: & --> Se uno dei due lati è false, il risultato è false; solo se entrambi sono true, il risultato è true
Per: && --> Se il lato sinistro è false, il risultato è false; se il lato sinistro è true e anche il lato destro è true, il risultato è true
Grazie per aver letto, spero di essere stato d'aiuto a tutti, grazie per il supporto al nostro sito!