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.
- OR: 'O', es un 'o' de inclusión de 2 o más condiciones lógicas.
- XOR: 'O', es un 'o' de exclusión de 2 o más condiciones lógicas.
- Lógica indirecta
- NOT: 'NO', Es una negación
- NAND: 'No Y', es un AND negado.
- NOR: 'NO O', es un OR negado.
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