Estruturas de decisão
Estruturas de decisão, ou condicionais, permitem que um programa escolha diferentes caminhos de execução com base em condições avaliadas durante a execução. Elas são fundamentais para criar programas dinâmicos, que reagem de acordo com diferentes situações.
Principais estruturas de decisão em C#:
if
,if-else
eif-else if
switch-case
- Operador ternário (
? :
)
1. Estrutura if
e if-else
Permite executar um bloco de código se uma condição for verdadeira, e outro bloco (opcional) se for falsa.
int idade = 18;
if (idade >= 18)
{
Console.WriteLine("Você é maior de idade.");
}
else
{
Console.WriteLine("Você é menor de idade.");
}
Se a condição dentro do if
for verdadeira, o primeiro bloco é executado; caso contrário, o bloco do else
é executado.
2. Estrutura if-else if-else
Permite testar múltiplas condições em sequência.
int nota = 7;
if (nota >= 9)
{
Console.WriteLine("Excelente!");
}
else if (nota >= 7)
{
Console.WriteLine("Aprovado!");
}
else
{
Console.WriteLine("Reprovado!");
}
O programa verifica cada condição em ordem até encontrar a primeira verdadeira.
3. Estrutura switch-case
Ideal para comparar uma variável com vários valores possíveis.
string linguagem = "C#";
switch (linguagem)
{
case "Java":
Console.WriteLine("Você escolheu Java!");
break;
case "C#":
Console.WriteLine("Você escolheu C#!");
break;
default:
Console.WriteLine("Linguagem não reconhecida.");
break;
}
O switch
avalia a variável e executa o bloco correspondente ao valor encontrado, usando break
para encerrar cada caso.
4. Operador Ternário
Forma compacta de escrever um if-else
simples.
int idade = 20;
string resultado = idade >= 18 ? "Maior de idade" : "Menor de idade";
Console.WriteLine(resultado);
Se a condição antes do ?
for verdadeira, o valor antes dos :
é atribuído; senão, o valor depois dos :
.
Resumo
- Estruturas de decisão permitem alterar o fluxo do programa conforme condições avaliadas em tempo de execução.
- As principais formas em C# são:
if
,if-else
,if-else if
,switch-case
e operador ternário. - São essenciais para criar programas que respondem a diferentes situações de forma inteligente e flexível.