Como muitas outras aplicações e linguagens de programação, o Scala também possui declarações condicionais if-else para tomada de decisão. O bloco condicional if é executado se a condição for verdadeira; caso contrário, o bloco else é executado (somente se houver else).
Geralmente, o else não tem condição; ele roda apenas quando a condição do if é falsa. Em resumo, instruções if-else trabalham com expressões booleanas baseadas em True-False.
Existem vários tipos de instruções if-else:
- Instrução if,
- Instrução if-else,
- If-else aninhado,
- If-else-if-else.
Antes de começar a ver os diferentes tipos de if-else, vamos configurar rapidamente o ambiente Scala para usuários de Mac seguindo os passos abaixo.
Observação: verifique se você tem Java instalado; se não tiver, siga as instruções aqui.
Depois desses passos, teste rapidamente a instalação digitando scala no terminal; você deve ver uma saída como a mostrada abaixo.
Observação: neste tutorial, você vai escrever o código no editor vim e executá-lo pelo terminal.
Instrução if em Scala
A instrução if contém uma expressão de natureza boolean (verdadeira ou falsa). Se a expressão for verdadeira, o bloco de código dentro do if é executado; se for falsa, a execução segue para a primeira linha depois do if.
if(boolean expression){
execute if boolean expression holds true}Tecnologia
Primeiro, você vai definir um object ou uma class chamada scala_if. Dentro desse objeto, configure a função main e escreva o corpo principal do código. Crie uma variável inteira x com valor 20. Por fim, vem o coração do código: o bloco if com a condição x<=20 e, como x vale 20, o bloco dentro do if será executado.
Vamos salvar o código abaixo com o nome if.scala.
Para rodar o código acima, basta digitar scala if.scala e você verá uma saída como a mostrada abaixo.
Instrução if-else em Scala
Assim como a instrução if, a instrução if-else também possui uma expressão boolean (verdadeira ou falsa). Se a condição do if for verdadeira, executa-se o bloco dentro do if; se for falsa, executa-se o bloco dentro do else.
if(boolean expression){
execute if boolean expression holds true}else{
execute block if boolean expression(if statement) holds false}Tecnologia
O código a seguir executará o bloco else, pois a variável x tem um valor maior que 20; portanto, o bloco de código dentro do else será executado.
Vamos salvar o código abaixo com o nome if-else.scala.
Para rodar o código acima, basta digitar scala if-else.scala e você verá uma saída como a mostrada abaixo.
If-else aninhado em Scala
Assim como normalmente você tem um if seguido de um else, o if-else aninhado segue a mesma lógica. No aninhamento, você pode usar um if ou else-if dentro de outro if ou else-if.
Na próxima seção, você verá as instruções else-if.
O código a seguir usa instruções nested-if para comparar quatro variáveis inteiras, chamadas $v$, $x$, $y$ e $z$ e, por fim, se todas as condições forem verdadeiras, imprime a saída no terminal.
Vamos salvar o código abaixo com o nome nested-if-else.scala.
Instrução else-if em Scala
A instrução else-if é mais flexível em comparação com o if-else. Diferente do if-else, em que um else é seguido por um if, o else-if é uma única instrução. Ele permite testar várias condições.
No entanto, há algumas regras importantes ao usar else-if:
Um else-if deve vir apenas depois de um if. Um if pode ter zero ou mais else-if's.
Da mesma forma, um else deve vir apenas depois de instruções if e else-if. Um if pode ter zero ou um else.
Quando um else-if é satisfeito, os demais else-if's e o else são ignorados.
if(boolean expression 1){
execute block 1if boolean expression 1 holds true}else-if(boolean expression 2){
execute block 2if boolean expression 2 holds true}else{
execute this block if all of the above statements holds false}Tecnologia
Conclusão
Parabéns por concluir o tutorial.
Este conteúdo é um ótimo ponto de partida para quem quer aprender as declarações condicionais IF ELSE em Scala.
Um exercício rápido: escreva um pequeno trecho de código usando else-if em Scala e veja na prática como essas instruções se diferenciam das outras.
Explore o match-case do Python: um guia sobre sua sintaxe, aplicativos em ciência de dados, ML e uma análise comparativa com o switch-case tradicional.
Como muitas outras aplicações e linguagens de programação, o Scala também possui declarações condicionais
if-elsepara tomada de decisão. O bloco condicionalifé executado se a condição for verdadeira; caso contrário, o blocoelseé executado (somente se houverelse).Geralmente, o
elsenão tem condição; ele roda apenas quando a condição doifé falsa. Em resumo, instruçõesif-elsetrabalham com expressões booleanas baseadas emTrue-False.Existem vários tipos de instruções
if-else:- Instrução if,
- Instrução if-else,
- If-else aninhado,
- If-else-if-else.
Antes de começar a ver os diferentes tipos de
if-else, vamos configurar rapidamente o ambiente Scala para usuários de Mac seguindo os passos abaixo.Observação: verifique se você tem Java instalado; se não tiver, siga as instruções aqui.
- \$ brew update
- \$ brew install scala
- \$ brew install sbt
- \$ echo '-J-XX:+CMSClassUnloadingEnabled' >>
/usr/local/etc/sbtopts
- \$ echo '-J-Xmx2G' >> /usr/local/etc/sbtopts
Depois desses passos, teste rapidamente a instalação digitando
scalano terminal; você deve ver uma saída como a mostrada abaixo.Observação: neste tutorial, você vai escrever o código no editor
vime executá-lo pelo terminal.Instrução if em Scala
A instrução
ifcontém uma expressão de naturezaboolean(verdadeira ou falsa). Se a expressão for verdadeira, o bloco de código dentro doifé executado; se for falsa, a execução segue para a primeira linha depois doif.Primeiro, você vai definir um
objectou umaclasschamadascala_if. Dentro desse objeto, configure a funçãomaine escreva o corpo principal do código. Crie uma variável inteiraxcom valor 20. Por fim, vem o coração do código: o blocoifcom a condiçãox<=20e, comoxvale 20, o bloco dentro doifserá executado.Vamos salvar o código abaixo com o nome
if.scala.Para rodar o código acima, basta digitar
scala if.scalae você verá uma saída como a mostrada abaixo.Instrução if-else em Scala
Assim como a instrução
if, a instruçãoif-elsetambém possui uma expressãoboolean(verdadeira ou falsa). Se a condição doiffor verdadeira, executa-se o bloco dentro doif; se for falsa, executa-se o bloco dentro doelse.O código a seguir executará o bloco
else, pois a variávelxtem um valor maior que 20; portanto, o bloco de código dentro doelseserá executado.Vamos salvar o código abaixo com o nome
if-else.scala.Para rodar o código acima, basta digitar
scala if-else.scalae você verá uma saída como a mostrada abaixo.If-else aninhado em Scala
Assim como normalmente você tem um
ifseguido de umelse, oif-elseaninhado segue a mesma lógica. No aninhamento, você pode usar um if ou else-if dentro de outro if ou else-if.Na próxima seção, você verá as instruções else-if.
O código a seguir usa instruções
nested-ifpara comparar quatro variáveis inteiras, chamadas $v$, $x$, $y$ e $z$ e, por fim, se todas as condições forem verdadeiras, imprime a saída no terminal.Vamos salvar o código abaixo com o nome
nested-if-else.scala.Instrução else-if em Scala
A instrução
else-ifé mais flexível em comparação com oif-else. Diferente do if-else, em que umelseé seguido por umif, oelse-ifé uma única instrução. Ele permite testar várias condições.No entanto, há algumas regras importantes ao usar
else-if:Um
else-ifdeve vir apenas depois de umif. Umifpode ter zero ou maiselse-if's.Da mesma forma, um
elsedeve vir apenas depois de instruçõesifeelse-if. Umifpode ter zero ou umelse.Quando um
else-ifé satisfeito, os demaiselse-if'se oelsesão ignorados.Conclusão
Parabéns por concluir o tutorial.
Este conteúdo é um ótimo ponto de partida para quem quer aprender as declarações condicionais IF ELSE em Scala.
Um exercício rápido: escreva um pequeno trecho de código usando
else-ifem Scala e veja na prática como essas instruções se diferenciam das outras.Referências:
Fique à vontade para deixar suas dúvidas sobre este tutorial nos comentários abaixo.