English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Differenze tra & e && in Java e esempi

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!

Ti piacerebbe anche