Olá, Marconi! Tudo bem?
Parabéns pela solução desenvolvida! Ficou muito legal.
Nesse caso, realmente não precisamos utilizar o else
.
Para complementar o que você desenvolveu, podemos reduzir a quantidade de if
's. Você pode colocar as duas condições num if
só, assim você não precisaria executar dois if
's, dessa forma:
while( contador <= 40) {
if(contador == 33 || contador == 37) {
contador = contador + 1;
}
mostra(contador);
contador = contador + 1;
}
Perceba que utilizamos algo novo, o operador lógico ||
(ou), que serve para realizar comparações entre dois valores.
Ele funciona assim: o resultado é verdadeiro se e somente se uma ou mais condições for verdadeira.
Exemplos:
- Digamos que o contador está no 32. O
if
vai perguntar se 32 é igual a 33, e a resposta é falso. Beleza, por enquanto tudo tranquilo. Depois disso, o if
vai perguntar se 32 é igual a 37, e a resposta também é falso. O resultado final do if será falso, pois tivemos duas condições falsas! - Agora, digamos que o contador está no 33. O
if
vai perguntar se 33 é igual a 33, e a resposta é verdadeiro! Pronto, ele não precisa mais perguntar se 33 é igual a 37, pois ele já sabe que uma das condições é verdadeira, e isso já é o suficiente. - Por fim, digamos que o contador está no 37. O
if
vai perguntar se 37 é igual a 33, e a resposta é falso. Certo, não tem problema, vamos perguntar se 37 é igual a 37, e a resposta é verdadeiro! Não tem problema se a primeira condição deu falso, se a segunda deu verdadeiro já é o suficiente. Ou seja, o resultado do if
dá verdadeiro se uma condição é verdadeira, como foi neste caso, ou se as duas forem verdadeiras.
Além disso, o código fica mais enxuto.
Para você complementar os seus estudos sobre operadores lógicos, como o ||
(ou), você pode ler este artigo da Alura, que vai falar desse e de outros operadores lógicos:
Espero ter contribuído, Marconi. Se tiver mais alguma novidade ou dúvida, estou à disposição. Bons estudos =)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!