Mobile App Development · Dart/Flutter
Aplique operadores aritméticos, relacionais, lógicos e de atribuição para calcular, comparar e tomar decisões em Dart.
Nesta aula você vai aplicar os quatro grupos de operadores de Dart — aritméticos, relacionais, lógicos e de atribuição — para fazer cálculos, comparar valores e tomar decisões, além de entender a precedência entre eles e conhecer o operador ternário.
+ - * / %
Operadores aritméticos: soma, subtração, multiplicação, divisão (sempre retorna double) e módulo (resto da divisão).
~/
Divisão inteira: divide e trunca o resultado para um int, descartando a parte decimal.
== != > < >= <=
Operadores relacionais: comparam dois valores e sempre retornam um bool. Em Dart, == compara o conteúdo de Strings.
&& || !
Operadores lógicos: && exige que ambas as condições sejam verdadeiras, || exige ao menos uma, e ! inverte um valor booleano.
= += -= *= ~/=
Operadores de atribuição compostos: combinam uma operação aritmética com a atribuição. x += 3 equivale a x = x + 3.
? :
Operador ternário: forma compacta de um if/else que retorna um valor — condição ? seVerdadeiro : seFalso.
* e / são avaliados antes de + e -. Parênteses () forçam a ordem desejada.
// Exemplo: aplicar operadores aritméticos, relacionais, lógicos,
// de atribuição composta e o operador ternário no mesmo programa.
void main() {
var a = 10;
var b = 3;
// Operadores aritméticos.
print('Soma: ${a + b}');
print('Subtração: ${a - b}');
print('Multiplicação: ${a * b}');
// A divisão / sempre retorna double, mesmo dividindo dois int.
print('Divisão: ${a / b}');
print('Resto: ${a % b}');
// Operadores relacionais retornam bool.
print('a é maior que b? ${a > b}');
print('a é igual a b? ${a == b}');
// Operador lógico && combinando duas condições booleanas.
var idade = 20;
var temCarteira = true;
var podeDirigir = idade >= 18 && temCarteira;
print('Pode dirigir? $podeDirigir');
// Operador de atribuição composta: pontos = pontos + 25.
var pontos = 100;
pontos += 25;
print('Pontos finais: $pontos');
}
Soma: 13 Subtração: 7 Multiplicação: 30 Divisão: 3.3333333333333335 Resto: 1 a é maior que b? true a é igual a b? false Pode dirigir? true Pontos finais: 125
+.total >= 100).&& e depois com || e compare os resultados.if/else simples usando o operador ternário.