Controle de Fluxo
if, else, else if
Estruturas condicionais permitem executar código baseado em condições:
int idade = 20;
if (idade >= 18) {
print("Maior de idade");
} else {
print("Menor de idade");
}
// else if para múltiplas condições
int nota = 85;
if (nota >= 90) {
print("Excelente");
} else if (nota >= 70) {
print("Bom");
} else if (nota >= 50) {
print("Regular");
} else {
print("Insuficiente");
}
// Condições aninhadas
bool temPermissao = true;
bool temRecurso = false;
if (temPermissao) {
if (temRecurso) {
print("Pode realizar a operação");
} else {
print("Recurso não disponível");
}
} else {
print("Sem permissão");
}
switch case
O switch é útil para múltiplas condições baseadas no mesmo valor:
String dia = "segunda";
switch (dia) {
case "segunda":
case "terça":
case "quarta":
case "quinta":
case "sexta":
print("Dia útil");
break;
case "sábado":
case "domingo":
print("Fim de semana");
break;
default:
print("Dia inválido");
}
Com enums:
enum Status { pendente, concluido, cancelado }
Status status = Status.pendente;
switch (status) {
case Status.pendente:
print("Aguardando");
break;
case Status.concluido:
print("Finalizado");
break;
case Status.cancelado:
print("Cancelado");
break;
}
Loops
for com index
Loop tradicional com contador:
for (int i = 0; i < 5; i++) {
print("Número: $i");
}
for-in
Itera sobre elementos de uma coleção:
List<String> nomes = ['João', 'Maria', 'Pedro'];
for (String nome in nomes) {
print(nome);
}
forEach
Método de coleções para iterar:
List<int> numeros = [1, 2, 3, 4, 5];
numeros.forEach((numero) {
print(numero * 2);
});
// Ou com arrow function
numeros.forEach((numero) => print(numero * 2));
while
Executa enquanto a condição for verdadeira:
int contador = 0;
while (contador < 5) {
print(contador);
contador++;
}
do-while
Executa pelo menos uma vez, depois verifica a condição:
int contador = 0;
do {
print(contador);
contador++;
} while (contador < 5);
break e continue
break: Sai do loop imediatamentecontinue: Pula para a próxima iteração
for (int i = 0; i < 10; i++) {
if (i == 3) {
continue; // Pula o 3
}
if (i == 7) {
break; // Para no 7
}
print(i); // 0, 1, 2, 4, 5, 6
}