Módulo 01 — Fundamentos da Plataforma e da Linguagem
Operadores e controle de fluxo
iniciante 25 min de leitura·Atualizado · .NET 9
ResumoOperadores combinam valores; estruturas de controle decidem o caminho (
if/switch) e repetem trabalho (for/foreach/while). São a base de qualquer lógica.
1. Objetivos de Aprendizagem#
- Usar operadores aritméticos, de comparação e lógicos.
- Escrever condicionais com
if/elseeswitch. - Iterar com
for,foreachewhile.
2. Pré-requisitos#
- Tipos e variáveis (tópico 3.1).
3. Conceito#
- Aritméticos:
+ - * / %. - Comparação:
== != < > <= >=. - Lógicos:
&&(E),||(OU),!(negação) — com short-circuit. - Controle:
if/else,switch(statement e expression), laçosfor,foreach,while,do/while.
O porquê do foreach: percorrer coleções sem gerenciar índices, reduzindo erros de limite.
4. Mão na Massa#
4.1. Setup#
Shell
dotnet new console -n Catalog.Fluxo
cd Catalog.Fluxo
4.2. Implementação Passo a Passo#
- Condicional:
C#
int estoque = 3;
if (estoque == 0)
Console.WriteLine("Esgotado");
else if (estoque < 5)
Console.WriteLine("Estoque baixo");
else
Console.WriteLine("Disponível");
switchexpression (C# moderno):
C#
string faixa = estoque switch
{
0 => "esgotado",
< 5 => "baixo",
_ => "ok" // caso padrão
};
- Laços:
C#
for (int i = 0; i < 3; i++)
Console.WriteLine($"linha {i}");
var produtos = new[] { "Mouse", "Teclado", "Monitor" };
foreach (var p in produtos)
Console.WriteLine(p);
int n = 3;
while (n > 0) { Console.WriteLine(n); n--; }
4.3. Executando#
Shell
dotnet run
5. Exemplo Completo#
C#
var precos = new[] { 10m, 250m, 90m };
decimal soma = 0;
foreach (var preco in precos)
soma += preco;
Console.WriteLine($"Total: {soma:C} — média: {soma / precos.Length:C}");
6. Boas Práticas e Armadilhas#
| Faça | Evite |
|---|---|
Preferir switch expression para mapeamentos | Cadeias enormes de if/else if |
Usar foreach para coleções | Índices manuais propensos a estourar limites |
Aproveitar short-circuit (&&, ||) | Comparar string com == ignorando cultura/caixa quando importa |
Atenção
=(atribuição) é diferente de==(comparação). Trocar um pelo outro é erro clássico — o compilador ajuda, mas nem sempre.
7. Segurança e Produção#
- Sempre tenha um caso padrão (
_/default) ao mapear valores externos, para não deixar entradas inesperadas sem tratamento.
8. Exercícios#
- Fácil: escreva um
ifque classifica um número em positivo/negativo/zero. - Médio: reescreva o mesmo com
switchexpression. - Desafio: some apenas os números pares de um array usando
foreache%.
9. Resumo#
Operadores combinam valores; if/switch decidem; for/foreach/while repetem. switch expression e foreach tornam o código mais claro e seguro.
10. Próximos Passos#
A seguir, métodos e parâmetros.
11. Referências#
- Microsoft Learn — Operadores em C#
- Microsoft Learn — Instruções de seleção (if, switch)
- Microsoft Learn — Instruções de iteração (for, foreach)
Terminou esta aula?
Marque como concluída para acompanhar seu progresso.