Java tiene un tipo simple que representa valores lógicos llamado booleano. Su valor sólo puede ser uno de dos valores: verdadero o falso. Todo es como un El siguiente programa ilustra el uso de tipos booleanos:
// Demostrar valores booleanos. class BoolTest { public static void main(String args[]) { boolean b; b = false; ("b es " + b); // un valor booleano puede controlar la declaración if if(b) System.out.println("Esto se ejecuta."); System.out.println("Esto no se ejecuta."); // el resultado de un operador relacional es un valor booleano System.out.println("10 > 9 es " + (10 > 9));
Los resultados de ejecutar este programa son los siguientes:
b es falso b es verdadero Esto se ejecuta 10 > 9 es verdadero.
Hay 3 cosas interesantes a tener en cuenta sobre este programa. Primero, ha visto que cuando usa el método println () para generar un valor booleano, muestra "verdadero" o "falso". En segundo lugar, el valor de la variable booleana en sí es suficiente para controlar la declaración if. No es necesario escribir declaraciones como esta:
si(b == verdadero) ...
En tercer lugar, el resultado de un operador relacional (como <) es un valor booleano. Es por eso que la expresión 10>9 muestra "verdadero". Además, se agregan paréntesis adicionales a ambos lados de la expresión 10>9 porque el operador del signo más "+" tiene mayor prioridad que el operador ">".
La diferencia entre operaciones lógicas y operaciones bit a bit en tipos booleanos JAVA
En términos de resultados, los resultados de las dos operaciones son los mismos, pero la operación lógica tendrá un fenómeno de "cortocircuito", mientras que la operación bit a bit no, y la operación bit a bit tiene más funciones "XOR" que la operación lógica.
fenómeno de cortocircuito
clase br {f1 booleano estático() {devuelve falso} f2 booleano estático() {devuelve verdadero; ();
El resultado es falso. Cuando f1 () es falso, entonces se conoce el resultado de la operación && posterior sin tener que realizarla. JAVA "cortocircuitará" la operación posterior y mejorará el rendimiento.
booleano f_2 = br.f2()||br.f1()||br.f3();
El resultado es verdadero. De manera similar, f2() es verdadero y no es necesario realizar más operaciones.
Parece muy conveniente y eficiente, pero todavía tiene desventajas.
booleano f_3 = br.f2()||br.f3()&&br.f1();
El resultado se vuelve verdadero, lo que debería ser falso. Este es un error causado por un "cortocircuito". Si desea obtener la respuesta correcta, debe agregar paréntesis:
f_3=( br.f2()||br.f3())&&br.f1();
Las operaciones bit a bit proporcionan una funcionalidad XOR que la lógica no ofrece:
booleano f = verdadero^verdadero;
Resultado f = falso;