Boas-vindas! Meu nome é Iasmin Araújo, sou instrutora na Escola de Programação da Alura, e irei te acompanhar ao longo dessa jornada de aprendizagem.
Audiodescrição: Iasmin se descreve como uma mulher branca, com cabelo castanho-escuro longo e liso repartido ao meio, sobrancelhas castanho-escuras, e olhos verdes. Ela veste uma blusa azul-marinho, e está sentada em uma cadeira preta e rosa em frente a microfone cinza, com uma parede clara ao fundo iluminada em gradiente azul.
O objetivo deste curso é praticar as condicionais. Para isso, abordaremos diversos tópicos:
- O que são condicionais e como elas funcionam;
if
eelse
, palavras-chave utilizadas para trabalhar com condicionais;- Operadores lógicos e relacionais, utilizados nos blocos
if
eelse
;- Expressões do tipo switch-case e como utilizá-las.
Temos diversos tópicos bastante importantes quando falamos sobre lógica de programação, mas também é interessante praticar todos esses conceitos. Para isso, na sequência, vamos começar a nos aprofundar nos tópicos sobre condicionais mencionados.
Bons estudos e até o próximo vídeo!
Neste vídeo, entenderemos o que são expressões condicionais e como aplicá-las.
Pelo próprio nome, conseguimos entender o que significam expressões condicionais: são expressões que dependem de certas condições para serem executadas.
Suponha que estamos desenvolvendo um jogo online, e só conseguimos fazer com que a pessoa usuária acesse e visualize esse jogo se a conexão estiver ativa. Se a conexão estiver inativa, o jogo não carrega. Dessa forma, o programa depende de uma condição para ser executado.
Podemos representar essas condições utilizando os blocos if
e else
.
Na linguagem C#, a estrutura condicional possui a seguinte sintaxe:
if (expressão)
{
vá por esse caminho
}
else
{
vá por esse outro caminho
}
Utilizamos a palavra-chave if
, abrimos parênteses e, entre eles, colocamos uma expressão. Essa expressão pode retornar true
ou false
, que são valores booleanos. Se a expressão resultar em verdadeiro (true
), entramos no bloco if
e executamos o caminho determinado entre chaves.
Se a expressão resultar em falso (false
), podemos seguir outro caminho, caso não haja nada após o bloco if
. Além disso, podemos definir o que queremos fazer se a expressão for falsa.
Dessa forma, se for verdadeira, fazemos uma coisa específica; caso contrário, fazemos outra coisa diferente. O "caso contrário" é representado pelo bloco else
. Teremos a palavra-chave else
e, entre chaves, outro bloco que indica seguir por outro caminho.
Importante! Em expressões condicionais, ou executamos o bloco
if
ou executamos o blocoelse
. Não é possível executar ambas as coisas ao mesmo tempo.
Quando falamos sobre expressões condicionais, que resultam em true
ou false
, existem vários operadores que podem nos ajudar a trabalhar com elas. Temos os operadores de comparação, que são os operadores relacionais, e dentro deles, há diversos tipos de comparação.
Observe a tabela abaixo:
Operador | Significado | Exemplo |
---|---|---|
> | Maior que | x > 10 |
< | Menor que | x < 10 |
== | Igual a | x == 10 |
!= | Diferente de | x != 10 |
>= | Maior ou igual a | x >= 10 |
<= | Menor ou igual a | x <= 10 |
Podemos, por exemplo, querer saber se uma variável tem um valor maior que outro. Suponha que queremos comparar se a variável x
é maior do que 10. Nesse caso específico, utilizamos o operador de comparação representado por >
. Da mesma forma, podemos comparar se uma variável é menor que outra, se é igual, se é diferente, maior ou igual, ou menor ou igual.
Atenção! O operador de igualdade é representado por dois símbolos de igual (
==
). Se usarmos apenas um símbolo (=
), temos uma atribuição, que são coisas diferentes.
Os operadores apresentados tratam de comparação de valores, mas podemos querer juntar as condições. Para isso, utilizamos os operadores lógicos.
Dentro dos operadores lógicos, temos o operador AND
, que indica se uma condição e outra são verdadeiras. Observe a tabela-verdade abaixo:
Operador
AND
Condição 1 | Condição 2 | Resultado |
---|---|---|
Verdadeiro | Verdadeiro | Verdadeiro |
Verdadeiro | Falso | Falso |
Falso | Verdadeiro | Falso |
Falso | Falso | Falso |
Se temos verdadeiro e verdadeiro, retornamos verdadeiro, mas se temos qualquer outra combinação, o resultado será falso. A condição 1 não pode ser verdadeira e a 2 ser falsa, por exemplo, se queremos que a combinação delas seja verdadeira.
Já no caso do operador OR
, queremos que uma condição ou outra sejam verdadeiras. Abaixo, temos outra tabela-verdade exemplificando o seu uso:
Operador
OR
Condição 1 | Condição 2 | Resultado |
---|---|---|
Verdadeiro | Verdadeiro | Verdadeiro |
Verdadeiro | Falso | Falso |
Falso | Verdadeiro | Falso |
Falso | Falso | Falso |
Para a combinação das condições ser verdadeira, apenas uma precisa verdadeira. Podemos ter verdadeiro e verdadeiro, que resultará em verdadeiro; verdadeiro e falso resultando em verdadeiro; e falso com falso, resultando em falso, pois pelo menos uma condição deve ser verdadeira.
Além disso, temos o operador NOT
, que será o contrário do valor: se temos uma expressão verdadeira, a negação dela é falso; e se temos uma expressão falsa, a negação dela será verdadeira.
Abaixo, a representação do operador em tabela:
Operador
NOT
Expressão | Negação |
---|---|
Verdadeiro | Falso |
Falso | Verdadeiro |
Uma vez que conhecemos esses diversos operadores, bem como os blocos if
e else
, podemos verificar em código como isso funciona na prática.
Com o Visual Studio aberto, começaremos com o exemplo da conexão ativa. No arquivo Program.cs
, criaremos uma variável booleana bool conexaoAtiva
e definiremos a conexão como válida (true
).
Em seguida, se a conexão estiver ativa (if (conexaoAtiva)
), vamos iniciar o jogo com Console.WriteLine()
exibindo a mensagem "Iniciando o jogo!".
Por outro lado, se a conexão não estiver ativa (else
), queremos mostrar outra mensagem para a pessoa usuária. Utilizando Console.WriteLine()
, definiremos que, caso a conexão esteja inativa, a mensagem exibida para a pessoa usuária será "Você perdeu sua conexão!".
Program.cs
:
bool conexaoAtiva = true;
if (conexaoAtiva)
{
Console.WriteLine("Iniciando o jogo!");
}
else
{
Console.WriteLine("Você perdeu sua conexão!");
}
Dessa forma, ou executamos o primeiro bloco, ou o segundo. Com isso, receberemos a mensagem "Iniciando o jogo!", pois a variável conexaoAtiva
era true
. Alterando conexaoAtiva
para false
, entraremos no bloco else
. Ao executar, teremos "Você perdeu sua conexão!".
Assim, conhecemos o funcionamento básico das estruturas if
e else
!
Neste vídeo, apresentaremos outros exemplos de expressões condicionais.
Vamos pensar em um exemplo mais avançado? Suponha que trabalhamos em um e-commerce. Nesse e-commerce, se uma compra for a partir de 300 reais, o cliente ganha 10% de desconto.
Nesse caso, precisaremos trabalhar novamente com condições.
Primeiramente, no arquivo Program.cs
no Visual Studio, vamos criar uma variável double
chamada valorCompra
e atribuir a ela o valor de 545 reais.
Program.cs
:
// código omitido
double valorCompra = 545.00;
Agora, queremos verificar se o valor da compra é maior do que 300. Portanto, se (if
) valorCompra
for maior que (>
) 300, usaremos um operador relacional de comparação.
Nesse caso, vamos informar que o cliente teve um desconto. Para calcular o valor do desconto, criaremos a variável double desconto
no bloco if
, que será valorCompra
multiplicado por 0.1. Podemos usar interpolação para exibir $"Você ganhou {desconto} reais em desconto!"
.
// código omitido
double valorCompra = 545.00;
if (valorCompra > 300.00)
{
double desconto = valorCompra * 0.1;
Console.WriteLine($"Você ganhou {desconto} reais em desconto!");
}
Com isso, temos nossa condição inicial.
Agora, vamos pensar no caminho alternativo (else
). Se o valor da compra for menor que 300 reais, precisamos saber quanto falta para atingir os 300 reais. Para isso, criaremos uma variável do tipo double
chamada diferenca
, que será igual a 300.00 menos (-
) valorCompra
.
Por que conseguimos fazer isso? Porque, no caso do bloco
else
, vamos considerar todos os casos em que o valor da compra é menor que 300 reais.
Por fim, vamos imprimir com Console.WriteLine()
a mensagem $"Faltam {diferenca} reais para você ganhar desconto na sua compra!"
, utilizando interpolação.
// código omitido
if (valorCompra > 300.00)
{
double desconto = valorCompra * 0.1;
Console.WriteLine($"Você ganhou {desconto} reais em desconto!");
}
else
{
double diferenca = 300.00 - valorCompra;
Console.WriteLine($"Faltam {diferenca} reais para você ganhar desconto na sua compra!");
}
Após isso, executaremos o código. Se o valor da compra for 545 reais, a saída será "Você ganhou 54,5 reais em desconto!". Por outro lado, se o valor da compra for 245 reais, por exemplo, a saída será "Faltam 55 reais para você ganhar desconto na sua compra!".
AND
Agora, vamos pensar em combinar condições.
Suponha que o cliente só consegue 10% de desconto se comprar mais de 300 reais e for um cliente VIP. Vamos declarar uma variável bool clienteVip
e defini-la como true
por enquanto.
// código omitido
double valorCompra = 245.00;
bool clienteVip = true;
// código omitido
Agora, o bloco if
será verdadeiro apenas se duas condições forem verdadeiras: se o valor da compra for maior do que 300 reais; e se o cliente for VIP.
Para isso, utilizaremos o operador AND
, representado por &&
.
// código omitido
if (valorCompra > 300.00 && clienteVip)
{
double desconto = valorCompra * 0.1;
Console.WriteLine($"Você ganhou {desconto} reais em desconto!");
}
// código omitido
Se ambas as condições forem verdadeiras, exibiremos a mensagem $"Você ganhou {desconto} reais em desconto!"
. Caso contrário, cairemos na outra condição. Ao executar o código, observamos que faltam 55 reais para ganhar desconto, pois o valor da compra está em 245 reais. Assim, a primeira condição é falsa. Logo, a combinação das duas será falsa, pois utilizamos o operador AND
.
OR
Se quiséssemos usar o operador OR
, representado por ||
, entraríamos no primeiro if
, pois teríamos uma condição falsa ou uma condição verdadeira.
Observação: se uma das condições for verdadeira, entramos no bloco
if
.
// código omitido
if (valorCompra > 300.00 || clienteVip)
{
double desconto = valorCompra * 0.1;
Console.WriteLine($"Você ganhou {desconto} reais em desconto!");
}
// código omitido
Ao executar, visualizamos que o cliente ganhou 24,5 reais em desconto.
else if
No exemplo anterior, temos uma expressão condicional bem estruturada, pois a condição é verdadeira ou falsa, resultando em apenas dois caminhos possíveis.
Entretanto, podemos ter vários caminhos nos blocos if
e else
. Para isso, utilizamos else if
, seguido de uma nova condição que desejamos aplicar.
Podemos verificar se o valor da compra é maior que 300 reais. Suponha que a pessoa não atingiu 300 reais, mas atingiu 200 reais. Nesse caso, enviaremos uma amostra grátis ou um brinde. Portanto, exibiremos a mensagem "Parabéns! Você ganhou um brinde!".
// código omitido
if (valorCompra > 300.00 || clienteVip)
{
double desconto = valorCompra * 0.1;
Console.WriteLine($"Você ganhou {desconto} reais em desconto!");
}
else if (valorCompra > 200.00)
{
Console.WriteLine("Parabéns! Você ganhou um brinde!");
}
else
{
double diferenca = 300.00 - valorCompra;
Console.WriteLine($"Faltam {diferenca} reais para você ganhar desconto na sua compra!");
}
Queremos saber primeiro se o cliente pagou mais de 300 reais ou se é um cliente VIP. Se nenhuma dessas condições for verdadeira, mas o valor da compra for maior que 200 reais, ele se enquadra no caso que criamos. Ele não está entre os que gastaram mais de 300 reais, mas está entre os que gastaram entre 200 e 300 reais.
Depois, temos o else
, que se aplica a quem fez uma compra menor que 200 reais. Para essas pessoas, imprimimos o que falta para alcançar o desconto, pois, no marketing, as empresas focam em clientes que fazem compras com valores mais altos. Assim, temos três casos:
- Quem gastou mais de 300 reais;
- Quem gastou entre 200 e 300 reais;
- Quem gastou menos de 200 reais.
Cada vez que encadeamos if
e else if
, criamos mais um caminho possível para a execução do programa. Para testar, podemos alcançar a condição de "Parabéns! Você ganhou um brinde!" se o valor da compra for 245 reais e clienteVip
for false
.
Com isso, entendemos como funcionam as condicionais, sendo if
e else
as principais na lógica de programação. No entanto, também temos a opção de trabalhar com switch
e case
.
Na sequência, vamos explorar melhor esse tipo de expressão!
O curso Praticando C#: condicionais com if/else e switch/case possui 32 minutos de vídeos, em um total de 18 atividades. Gostou? Conheça nossos outros cursos de .NET em Programação, ou leia nossos artigos de Programação.
Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:
Impulsione a sua carreira com os melhores cursos e faça parte da maior comunidade tech.
1 ano de Alura
Assine o PLUS e garanta:
Formações com mais de 1500 cursos atualizados e novos lançamentos semanais, em Programação, Inteligência Artificial, Front-end, UX & Design, Data Science, Mobile, DevOps e Inovação & Gestão.
A cada curso ou formação concluído, um novo certificado para turbinar seu currículo e LinkedIn.
No Discord, você tem acesso a eventos exclusivos, grupos de estudos e mentorias com especialistas de diferentes áreas.
Faça parte da maior comunidade Dev do país e crie conexões com mais de 120 mil pessoas no Discord.
Acesso ilimitado ao catálogo de Imersões da Alura para praticar conhecimentos em diferentes áreas.
Explore um universo de possibilidades na palma da sua mão. Baixe as aulas para assistir offline, onde e quando quiser.
Acelere o seu aprendizado com a IA da Alura e prepare-se para o mercado internacional.
1 ano de Alura
Todos os benefícios do PLUS e mais vantagens exclusivas:
Luri é nossa inteligência artificial que tira dúvidas, dá exemplos práticos, corrige exercícios e ajuda a mergulhar ainda mais durante as aulas. Você pode conversar com a Luri até 100 mensagens por semana.
Aprenda um novo idioma e expanda seus horizontes profissionais. Cursos de Inglês, Espanhol e Inglês para Devs, 100% focado em tecnologia.
Transforme a sua jornada com benefícios exclusivos e evolua ainda mais na sua carreira.
1 ano de Alura
Todos os benefícios do PRO e mais vantagens exclusivas:
Mensagens ilimitadas para estudar com a Luri, a IA da Alura, disponível 24hs para tirar suas dúvidas, dar exemplos práticos, corrigir exercícios e impulsionar seus estudos.
Envie imagens para a Luri e ela te ajuda a solucionar problemas, identificar erros, esclarecer gráficos, analisar design e muito mais.
Escolha os ebooks da Casa do Código, a editora da Alura, que apoiarão a sua jornada de aprendizado para sempre.