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

Implementación de la disposición de la barra de navegación de la página principal con GridView

Diferencia entre & y && en Java: & es tanto un operador de bits como un operador lógico, y sus lados pueden ser int o expresiones booleanas, cuando los lados de & son int, es necesario convertir los números de ambos lados a números binarios antes de realizar la operación, mientras que los lados de la operación AND corta (&&) deben ser expresiones booleanas.

Creo que muchas personas se encuentran con esto mientras estudian Java o durante una entrevista

& y &&

Sin embargo, si no entiendes verdaderamente su significado, esto te traerá muchos problemas en tu línea de pensamiento

En este blog, después de que lo hayas leído, descubrirás que es muy fácil distinguirlos

A continuación, mi demo

 /**
   *
   */
  paquete 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)){
             //hacer algo
         }
         if(str != null & !"".equals(str)){
             //hacer algo
         }
     }
 }

Ahora puede que tengamos algunas dudas, primero veamos los problemas de circuito de & y &&:

Para: &&

if(str != null && !"".equals(str))

Cuando str != null, solo entonces se ejecutará: !"".equals(str)

Si str != null es false, en este momento, el programa está en una situación de cortocircuito, por lo tanto, !"".equals(str) no se ejecutará.

Pero para: &

if(str != null & !"".equals(str))

Independientemente del resultado de str != null (es decir, true, false), el programa siempre ejecutará: !"".equals(str)

Resumen de problemas de circuito:

Para: &   -- De cualquier manera, se ejecutará el programa a la izquierda y a la derecha del símbolo "&".

Para: && -- Si el programa a la izquierda del símbolo "&&" es verdadero (true), solo entonces se ejecutará el programa a la derecha del símbolo "&&".

Ahora hablemos de las reglas de operación:

Para: &  -- Si a la izquierda o a la derecha hay uno de los dos que es false, entonces es false; solo cuando todos son true, el resultado es true

Para: && -- Si el símbolo a la izquierda es false, el resultado es false; cuando el lado izquierdo es true, y el lado derecho también es true, entonces el resultado es true

Gracias por leer, espero que pueda ayudar a todos, gracias por el apoyo a este sitio!

Tutorial de Elasticsearch