Estrutura de Decisão If { ...} Else If { ... } em C#
Os comandos de decisão são comandos amplamente usados, pois em nossos sistemas temos que executar alguns comandos dependendo de algumas situações e estas situações são testadas com os comandos de decisão que faz este trabalho para nós. Os comandos de decisão que vamos estudar são os comandos If ...Else e Swtch ...case.
A sua finalidade é executar determinada linha de comando ou linhas de comandos, dependendo do resultado de um teste, um teste lógico. Para compreendermos melhor este teste vamos pensar que estamos fazendo um comparação, e o resultado e o resultado desta comparação é sim ou não, ou como a linguagem de programação trabalha(true ou false).
Nos exemplos abaixo, vamos considerar que já temos as variáveis criadas.
Quando trabalhamos com o comando if temos que saber onde inicia e onde termina o bloco de comando. Todos os comandos do If começam com o próprio comando, termina em pontos destintos conforme vamos ver abaixo, indicaremos com um comentário // onde neste ponto termina o comando do bloco If.
if ( x = = 0)
{
y = x;
A = y + x;
} // neste ponto termina o bloco do comando If.
- Um teste com uma linha de programação no caso verdadeiro e um linha de programação no caso falso:
if ( x = = 0)
{
y = x;
else
y = x; // neste ponto termina o bloco do comando If.
- Um teste com duas ou mais linhas de programação no caso verdadeiro e duas ou mais linhas de programação no caso falso:
if ( x = = 0)
{
y = x;
a = s;
}
else
{
y = a;
a = 2;
}
- Dois Ifs, com um teste cada e um dentro do outro, com uma linha de programação em cada caso:
decimal x = 0;
string res = "";
if ( x >= 5) // se o x maior ou igual a 7
res = "aprovado";
else
if ( x >= 5) //no caso de falso o 1º if, tem outro if
res = "recuperação";
else
res ="Reprovado"; //neste ponto termina os dois blocos
- Dois ifs, um com dois teste e, no caso falso, outro teste com uma linha de comando:
decimal x = 0, freq = 0;
string res = "";
if ( ( x >= 5) && (freq >= 75) ) // se o x maior ou igual a 7
res = "aprovado";
else
if ( x >= 5) //no caso de falso o 1º if, tem outro if
res = "recuperação";
else
res ="Reprovado"; //neste ponto termina os dois blocos
Estrutura de Decisão Switch ...case
Quando temos um grande quantidade de testes, podemos utilizar em vez de if o Switch...case:
// definimos a criação da variável Semana,
// tipo de string e valor inicial vazio
string Semana = "";
// definimos a variável DiadaSemana
// tipo inteiro e valor inicial é o numero ref ao dia da semana
int DiaSemana = (int) DateTime.Now.DayofWeek;
//iniciamos o teste do valor do DiaSemana
switch (DiaSemana)
{
// após cada teste é finalizado com o comando break
case 0: { Semana = "Domingo"; break;}
case 1:{ Semana = "Segunda"; break;}
case 2:{ Semana = "Terça"; break;}
case 3:{ Semana = "Quarta"; break;}
case 4:{ Semana = "Quinta"; break;}
case 5:{ Semana = "Sexta"; break;}
case 6:{ Semana = "Sábado"; break;}
// Caso o valor da variável não atender nenhuma das opções,
// usamos o default
default: break;
}
// ao final do teste exibir a mensagen variável Semana
messageBox.Show(Semana);
_________________________________________________________________________________
"Saiba dominar-se e vencer-se a si mesmo. Vitorioso não é aquele que vence os outros, mas o que se vence a si mesmo, dominando seus vícios e superando seus defeitos. A vitória sobre si mesmo é muito difícil, e quem consegue isto pode ser classificado como verdadeiro herói. Aprenda a dominar-se, e jamais desanime. Se desta vez não conseguiu, recomece e um dia sairá vitorioso!"