Operadores aritméticos, de asignacion y lógicos

Clase 8 de 29Curso de Dart

Operadores

Los operadores utilizados en Dart son los siguientes:

Unario PostExpr

expr++ expr-- () [] . ?.

Unario PreExpr

-expr !expr ~expr ++expr --expr

Multiplicativo

* / % ~/

Adición

+ -

Shift

<< >>

Bitwise

& ^ |

Relacional y tipo prueba

>= > <= < as is is!

Igualdad

== !=

Lógicos

&& ||

Si Nulo

??

Condicional

expr1 ? expr2 : expr3

Cascada

..

Asignación

*= /= ~/= %= += -= <<= >>= &= ^= |= ??=

Con los operadores puedes crear expresiones, algunos ejemplos son:

a++
a + b
a = b
a == b
c ? a : b
a is T

En la tabla de operadores, cada operador tiene mayor precedencia que los operadores de las filas siguientes. Por ejemplo, el operador multiplicativo % tiene mayor precedencia que (y por lo tanto ejecuta antes) el operador de igualdad ==, que tiene mayor precedencia que el operador lógico AND (&&). Esa precedencia significa que las siguientes dos líneas de código se ejecutan de la misma manera:

// Los paréntesis mejoran la lectura

if ((n % i == 0) && (d % i == 0))

// Mas difícil de leer, pero equivalente.

if (n % i == 0 && d % i == 0)

Operadores Aritméticos

Dart soporta los operadores aritméticos habituales:

  • Suma ( +)
  • Resta ( - )
  • -expr Unario menos también conocido como negación (invierte el signo de la expresión)
  • Multiplicación
  • / División
  • ~/ Divide, regresando el valor entero
  • % regresa el restante del entero en una división (modulo)

Dart también soporta operadores de incrementos y decrementos de prefijos y postfijos.

++var El cual se leería; var = var + 1 (expression value is var + 1) var++ El cual se leería; var = var + 1 (expression value is var) --var El cual se leería; var = var – 1 (expression value is var – 1) var-- El cual se leería; var = var – 1 (expression value is var)

Operadores de Igualdad y relacionales

Enumeraremos el significado de la igualdad y de los operadores relacionales.

  • == Igual
  • != No igual (diferente)
  • > Mayor que
  • < Menor que
  • >= Mayor que o igual a
  • <= Menor que o igual a

Operadores de prueba de tipo

Los operadores as, is, and is! son útiles para verificar los tipos en tiempo de ejecución.

as Typecast (También utilizado para especificar prefijos de biblioteca)
is Verdadero si el objeto es el tipo especificado
is! Falso si el objeto tiene el tipo especificado

Operadores de Asignación

Como ya has visto, puedes asignar valores usando el operador =. Para asignar sólo si la variable asignada es nula, utilice el operador ??=.

// Asigna valor a variable a
a = value;

// Asigna valor a b, si b es nulo; de lo contrario b se mantiene igual
b ??= value;

Operadores que existen

== /= %= >>= ^= += *= ~/= <<= &= |=

//Así es como trabajan
Donde op es un operador a op= b a = a op b
Ejemplo a += b a = a + b

Operadores Lógicos

Puedes invertir o combinar expresiones booleanas utilizando los operadores lógicos

!expr invierte la expresión que le sigue (cambia falso a verdadero y viceversa)
|| OR lógico
&& AND lógico

Operadores Bitwise y Shift

Puedes manipular los bits individuales de los números en Dart. Por lo general, se utilizan estos operadores de bits y de desplazamiento con enteros.

  • & AND
  • | OR
  • ^ XOR
  • ~expr Complemento unario bitwise (0s a 1s; 1s a 0s)
  • << Desplazamiento hacia la izq
  • >> Desplazamiento hacia la derecha

El uso de estos lo estaremos viendo mientras avancemos en el curso algunos de estos no serán visto pero te invito a probarlos y conocer la forma en que estos son utilizados, son fiel seguidor de la documentación te invito a visitarla por si tiene alguna duda o bien déjala en nuestra sección de comentarios y te ayudaremos a resolverla.