Estruturas de Decisão - If/Else
As estruturas de decisão são comandos que permitem que o código caminhe em determinada direção de acordo com um teste realizado no código. É com esse tipo de estrutura que fazemos o computador tomar decisões. Elas são muito simples. Vamos começar com o famoso par if/else.
If significa “se”, e else “senão”. Essas palavras reservadas, quando utilizadas em meio ao código, permitem que um determinado caminho seja percorrido “se” determinada condição for atendida, “senão” faz com que o código desvie para outro caminho. É muito simples, vamos aos exemplos práticos. Essa aqui é a “cara” de um programa em C# vazio:
Caso queira acompanhar no seu computador, o que fiz foi abrir o Visual C#, clicar em File, depois em New Project, selecionei a opção Console Application e cliquei em Ok. Após esse procedimento o código acima foi automaticamente gerado. Não se preocupe agora em saber o que são os using e o namespace, ok? No momento oportuno falarei sobre eles, mas isso não é relevante agora, para o início do minicurso. O importante a saber é que você deve digitar os códigos que darão início ao seu programa dentro da classe static void Main, conforme figura abaixo:
Para executar a aplicação criada no Visual C#, basta pressionar F5, ou clicar no menu superior Debug e depois em Start Debugging. Também é possível acelerar esse processo clicando no pequeno triângulo verde na barra principal, conforme figura abaixo:
Bem, mas vamos ao nosso importante conceito de estruturas de decisão utilizando if/else. Vejam o código que criei abaixo:
Vou executar esse pequeno programa e vamos ver qual será a saída, ou seja, o que o programa exibirá:
Agora vou inverter a comparação, vejam:
Agora quero testar se a é menor do que b e, se não for ele executará o segundo teste. Vou compilar e vejamos qual foi a saída:
É importante dizer que o comando if/else pode ser realizado de uma forma um pouco diferente da que utilizei aqui. No exemplo dado eu fiz um primeiro teste com o comando if, depois um outro teste com o comando else if. Mas e se as variáveis a e b tivessem exatamente o mesmo valor? O que aconteceria? Vamos testar! Agora os valores serão:
int a = 20;
int b = 20;
A execução disso exibirá:
Vejam que agora nada foi impresso e é muito fácil descobrir o motivo. Criamos testes que verificavam se a variável a era maior do que b e para b maior do que a, mas não fizemos nada para quando os dois tivessem o mesmo valor. Nós poderíamos acrescentar o sinal de >= (maior ou igual) ou <= (menor ou igual) e encaixa-las em algum dos testes, mas vou demonstrar uma última condição de teste da estrutura if/else, que é o else isolado. Vejam como ficará o código agora:
Vamos para a execução desse código para verificar se de fato o sistema entrou nesse bloco:
Vejam que, conforme prevíamos, como todas as condições anteriores não foram atendidas, o sistema entrou no bloco do else isolado. Também é possível usar o if isolado, caso você queira efetuar um único teste, não sendo necessário if/else ou o else isolado acompanhando-o.
Abaixo colocarei alguns pontos importantes que devem ser aprendidos nesse tópico.
- Blocos de códigos: são todos os comandos presentes dentro das chaves {}
- A estrutura if/else executa testes. Se o retorno de um teste for positivo, será executado o bloco de código equivalente ao último teste realizado. Se o teste não retornar positivo, ou seja, se a condição não for verdadeira, um próximo teste será realizado ou, caso nenhum teste retorne positivo, ele procurará o comando else isolado. Se encontrar, o executará. Caso contrário não executará nenhum bloco vinculado ao comando if/else.
No próximo tópico falarei sobre outra estrutura de decisão, chamada de switch/case.