Condiciones Lógicas

Una condición lógica es una función booleana, es decir 'verdadero o falso'. Suman, multiplican, niegan o afirman, incluyen o excluyen según sus propiedades lógicas.
A cada 'Entrada' se le aplica una condición lógica y ésta hace que el valor de 'salida' pueda cambiar.
Los operadores lógicos son:
  • Lógica Directa
    • AND: 'Y', es una inclusión de 2 o más condiciones lógicas.
      • a && b
    • OR: 'O', es un 'o' de inclusión de 2 o más condiciones lógicas.
      • a || b
    • XOR: 'O', es un 'o' de exclusión de 2 o más condiciones lógicas.
      • (a && b) || (!a && !b)
  • Lógica indirecta
    • NOT: 'NO', Es una negación
      • !a
    • NAND: 'No Y', es un AND negado.
      • !a && !b
    • NOR: 'NO O', es un OR negado.
      • !(a && b) || (!a && !b)
En Java se utilizan principalmente junto a estructuras de control, para afirmar o negar, reducir o aumentar las posibilidades de cambio según sea necesario, estas condiciones de 'a' y 'b' darán como resultado verdadero o falso, según las tablas de verdad.
En MySQL se utilizan junto a la clausula 'WHERE' para filtrar los resultados según sea necesario.


Tablas de Verdad

AND
Verdadero Verdadero Verdadero
Verdadero Falso Falso
Falso Verdadero Falso
Falso Falso Falso
OR
Verdadero Verdadero Verdadero
Verdadero Falso Verdadero
Falso Verdadero Verdadero
Falso Falso Falso
XOR
Verdadero Verdadero Verdadero
Verdadero Falso Falso
Falso Verdadero Falso
Falso Falso Verdadero
NOT
Verdadero Falso
Falso Verdadero
NAND
Verdadero Verdadero Falso
Verdadero Falso Falso
Falso Verdadero Falso
Falso Falso Verdadero
NOR
Verdadero Verdadero Falso
Verdadero Falso Verdadero
Falso Verdadero Falso
Falso Falso Verdadero




Por ejemplo:


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
boolean verdadero = true;
boolean falso = false;
if(verdadero && falso){
 //La condicion 'a AND b' resulta falsa
 //Por ende no se entra en este if
}else if(verdadero || falso){
 System.out-println("Esta condicion 'a OR b' resulta verdadera y se ejecuta")
}else if((verdadero && falso) || (!verdadero && !falso)){
 //Llendo por partes:
 //'a AND b' es Falso
 //!verdadero(falso) OR !falso(verdadero) es verdadero
 // entonces: falso OR verdadero es verdadero y esto se ejecuta
}else if(!verdadero){
 //Condicion falsa no se ejecuta
}else if(!verdadero && !falso){
 //Condicion total falsa 
}else if(!(verdadero && falso) || (!verdadero && !falso)){
 //verdadero AND falso es falso, negada es verdadero
 //verdadero negada, AND falso negada es falso
 System.out.println("verdadero OR falso es verdadero");
}


Para el caso de MySQL, al utilizar las condiciones filtraremos los resultados de una u otra manera, por ejemplo:


1
2
3
4
5
6
SELECT * FROM dar10.miTabla WHERE id > 7 && pais = 'arg';
SELECT * FROM dar10.miTabla WHERE id > 7 || pais = 'arg';
SELECT * FROM dar10.miTabla WHERE (id > 7 && pais = 'arg') || (!(id > 7) && !(pais = 'arg'));
SELECT * FROM dar10.miTabla WHERE !(id > 7);
SELECT * FROM dar10.miTabla WHERE !(id > 7) || !(pais = 'arg');
SELECT * FROM dar10.miTabla WHERE !((id > 7) && (pais = 'arg')) || (!(id > 7) && !(pais = 'arg');


También podemos crear expresiones lógicas con el álgebra de boolw, disponiendo de varios operadores de comparación.
Estos operadores se aplican sobre los tipos de variables o columnas, fechas, textos, o numeros, y devuelven una expresión booleana (Verdadero o Falso).


Operador Descripción
<= Menor igual
< Menor
> Mayor
>= Mayor igual


No hay comentarios:

Publicar un comentario