Saltar al contenido principal

Operadores Lógicos

Youtube video player

Youtube video player

Los operadores lógicos sirven para invertir o combinar expresiones booleanas. En Dart existen los siguientes operadores lógicos:

NombreOperador
Negación!a
o (OR)a || b
y (AND)a && b

Negación

La negación !a invierte el valor de la variable. Si es true se convierte en false y viceversa.

var a = true;

print(a);
print(!a);

Y (AND)

El operador Y a && b regresa un valor true si a y b son true. Explicado de otra forma primero se evalúa la expresión de la izquierda, si es true se evalúa la expresión de la derecha, si ambas son true entonces el valor de retorno es true. Por ejemplo:

final alicia = 5;
final gerardo = 1;

if (alicia >= 18 && gerardo >= 18) {
print('Alicia y Gerardo son mayor que 18');
} else {
print('Alicia y/o Gerardo son menores de 18');
}

En el código anterior solo si alicia y gerardo son mayores o iguales que 18 imprimimos Alicia y Gerardo son mayor que 18 si alguno de los 2 es mayor y el otro menor entonces imprimimos la expresión dentro del else.

O (OR)

El operador O a || b regresa un valor true si a ó b son true. Explicado de otra forma primero se evalúa la expresión de la izquierda, si es true regresa true pero si es false evalúa la expresión de la derecha, si es true regresa true.

Más simple es solo recordar con que una de las dos expresiones sea true el valor de retorno es true. Por ejemplo:

final alicia = 21;
final gerardo = 15;

if (alicia >= 18 || gerardo >= 18) {
print('Alicia y/o Gerardo son mayores de 18');
} else {
print('Ninguno es mayor de 18');
}

En el código anterior con que uno sea mayor de 18 vamos a imprimir Alicia y/o Gerardo son mayores de 18 de lo contrario imprimimos la expresión dentro del else.

Puedes correr el código en DartPad y ver el funcionamiento: