uso usar simbologia relacionales programacion operadores entre diferencia como and java operators

usar - simbologia java



Diferencia entre & y && en Java? (5)

Posibles duplicados:
Cuál es la diferencia entre | y || en Java?
Diferencia en & y &&

Me preguntaba ¿cuál es la diferencia entre & y && ?
Unos días escribí una condición para una declaración if que parecía algo así como:

if(x < 50 && x > 0)

Sin embargo, cambié el && a simplemente & y no mostró errores. ¿Cual es la diferencia?

Ejemplo: compilé este sencillo programa:

package anddifferences; public class Main { public static void main(String[] args) { int x = 25; if(x < 50 && x > 0) { System.out.println("OK"); } if(x < 50 & x > 0) { System.out.println("Yup"); } } }

Imprimió "OK" y "Yup". Entonces, ¿importa cuál usar si ambos funcionan?


& es un operador AND bit a bit que compara bits de cada operando.
Por ejemplo,

int a = 4; int b = 7; System.out.println(a & b); // prints 4 //meaning in an 32 bit system // 00000000 00000000 00000000 00000100 // 00000000 00000000 00000000 00000111 // =================================== // 00000000 00000000 00000000 00000100


&& es el operador AND lógico que compara valores booleanos de operandos solamente. Toma dos operandos que indican un valor booleano y realiza una evaluación diferida sobre ellos.


&& == lógico AND

& = en bitácora Y


&& es un operador lógico

y es un operador poco

Aparentemente si haces una comparación de cierto a verdadero, la respuesta es verdadera, y si haces una comparación de cierto y falso, ¡la respuesta es falsa!


''&'' realiza ambas pruebas, mientras que ''&&'' solo realiza la segunda prueba si la primera también es verdadera. Esto se conoce como cortocircuito y puede considerarse una optimización. Esto es especialmente útil para proteger contra la nulidad.

if( x != null && x.equals("*BINGO*") { then do something with x... }


& es bitwise. && es lógico.

& evalúa ambos lados de la operación.
&& evalúa el lado izquierdo de la operación, si es true , continúa y evalúa el lado derecho.