
Como muitas outras aplicações e linguagens de programação, Scala também possui uma estrutura de decisão condicional if-else
. O bloco condicional de if
é executado se a condição for avaliada como Verdadeira; caso contrário, o bloco condicional de else
é implementado (apenas se a instrução else
estiver presente).
Geralmente, a instrução else
não possui condição; ela é executada apenas quando a condição de if
é Falsa. Por isso, resumindo, as instruções if-else
consistem em expressões booleanas que funcionam com base em Verdadeiro-Falso
.
Existem vários tipos de instruções if-else
:
– Instrução If,
– Instrução If-Else,
– Instrução If-Else aninhada,
– Instrução If-Else-If-Else.
Antes de começar a aprender as diferentes instruções if-else
, vamos configurar rapidamente o ambiente Scala para usuários do Mac, seguindo os passos abaixo.
Nota: Certifique-se de ter o Java instalado; caso contrário, por favor, siga as instruções fornecidas aqui.
– \$ brew update
– \$ brew install scala
– \$ brew install sbt
– \$ echo ‘-J-XX:+CMSClassUnloadingEnabled’ >>
/usr/local/etc/sbtopts
– \$ echo ‘-J-Xmx2G’ >> /usr/local/etc/sbtopts
Uma vez concluídos os passos acima, teste rapidamente a instalação digitando scala
no terminal, você deveria ver uma saída conforme mostrado abaixo.

Nota: Neste tutorial, você vai estar escrevendo o código no editor vim
e executando-o do terminal.
Declaração de If em Scala
A declaração de if
consiste em uma expressão que é de natureza boolean
(verdadeiro ou falso). Se a expressão for verdadeira, então o bloco de código dentro da declaração de if
é executado. Se a expressão for falsa, então a primeira linha de código após o fim da declaração de if
é executada.
if(boolean expression) { execute if boolean expression holds true }
Primeiro, você define um object
ou uma class
chamada scala_if
dentro desse objeto você define sua função main
e escreve o corpo principal do seu código. Você cria uma variável inteira x
com o valor 20. Finalmente, veio o ponto central do código, que é o bloco de if
com a condição x<=20
e já que x
tem o valor 20, o bloco dentro da declaração de if
será executado.
Salve o código abaixo com o nome if.scala
.

Para executar o código acima, tudo o que você precisa fazer é digitar scala if.scala
e você deveria ver uma saída conforme mostrado abaixo.

Declaração de If-else em Scala
Similar à estrutura de decisão `if`, a estrutura `if-else` consiste em uma expressão de natureza `booleana` (verdadeira ou falsa). Se a expressão `if` for verdadeira, então a porção de código dentro do `if` é executada; se for falsa, então a porção de código dentro do `else` é executada.
if(boolean expression) { execute if boolean expression holds true } else { execute block if boolean expression (if statement) holds false }
O código a seguir executará a instrução `else`, já que a variável `x` tem um valor maior que 20, portanto, a porção de código dentro do `else` será executada.
Vamos salvar o código abaixo com o nome de `if-else.scala`.

Para executar o código acima, tudo o que você precisa fazer é digitar `scala if-else.scala` e você deveria ver um resultado como o mostrado abaixo.

Decisão Aninhada `if-else` em Scala
Muito como você normalmente tem uma instrução `if` seguida por uma instrução `else`, a decisão aninhada `if-else` também é semelhante em espírito. Na decisão aninhada `if-else`, você pode usar uma instrução `if` ou `else-if` dentro de outra instrução `if` ou `else-if`.
Na próxima seção, você vai olhar para as instruções `else-if`.
if(boolean expression 1) { execute block 1 if boolean expression 1 holds true** if(boolean expression 2) { execute block 2 if boolean expression 1 and 2 holds true } }
O código a seguir usa instruções `nested-if` para comparar quatro variáveis inteiras chamadas `v`, `x`, `y`, e `z` e, finalmente, se todas as instruções forem corretas, ele imprime o resultado 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
é convincente em comparação às instruções if-else
. Ao contrário das instruções if-else, nas quais um else
é seguido por uma instrução if
, o else-if
é em si mesmo uma única instrução. Ele oferece a liberdade de testar várias condições.
Entretanto, há algumas regras a serem observadas ao usar instruções else-if
:
-
Um
else-if
deve vir apenas após uma instruçãoif
, uma instruçãoif
pode ter zero ou maiselse-if's
. -
Da mesma forma, um
else
deve vir apenas após instruçõesif
eelse-if
, uma instruçãoif
pode ter zero ou um statementelse
. -
Uma vez que um
else-if
seja bem-sucedido, nenhum doselse-if's
ouelse's
restantes será considerado e serão diretamente ignorados.
if(boolean expression 1) { execute block 1 if boolean expression 1 holds true } else-if(boolean expression 2) { execute block 2 if boolean expression 2 holds true } else { execute this block if all of the above statements holds false }
Conclusão
Parabéns por terminar o tutorial.
Este tutorial foi um bom ponto de partida para iniciantes interessados em aprender as estatísticas condicionais IF ELSE em Scala.
Um pequeno exercício para todos vocês é escrever um pequeno pedaço de código para a estatística else-if
em Scala e tentar entender como essas estatísticas são diferentes das outras.
Referências:
Por favor, sinta-se livre para colocar qualquer questão relacionada a este tutorial no setor de comentários abaixo.