English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Sentença IF…ELSE do Scala

A sentença IF...ELSE do Scala decide qual bloco de código executar com base no resultado da execução de uma ou mais instruções (True ou False).

Pode-se entender o processo de execução da sentença condicional a partir da figura a seguir:


Sentença if

A sentença if é composta por uma expressão booleana e o bloco de instruções subsequente.

Sintaxe

A sintaxe da sentença if é a seguinte:

if(Expressão Booleana)
{
   // Se a expressão booleana for true, execute o bloco de instruções dessa sentença.
}

Se a expressão booleana for true, execute o bloco de instruções dentro dos parênteses, senão pule o bloco de instruções dentro dos parênteses e execute as instruções após os parênteses.

Exemplo Online

object Test {
   def main(args: Array[String]) {
      var x = 10;
      if( x < 20 ){
         println("x < 20");
      }
   }
}

Execute o código acima, o resultado será:

$ scalac Test.scala 
$ scala Test
x < 20

Sentença if...else

A sentença if pode ser seguida diretamente pela sentença else, onde o bloco de instruções dentro do else é executado quando a expressão booleana for false.

Sintaxe

A sintaxe do if...else é a seguinte:

if(Expressão Booleana){
   // Se a expressão booleana for true, execute o bloco de instruções dessa sentença.
}else{
   // Se a expressão booleana for false, execute o bloco de instruções dessa sentença.
}

Exemplo Online

object Test {
   def main(args: Array[String]) {
      var x = 30;
      if( x < 20 ){
         println("x é menor que 20");
      }else{
         println("x é maior que 20");
      }
   }
}

Execute o código acima, o resultado será:

$ scalac Test.scala 
$ scala Test
x é maior que 20

Sentença if...else if...else

A sentença if pode ser seguida imediatamente pela sentença else if...else, o que é útil em situações de várias condições de verificação.

Sintaxe

A sintaxe da sentença if...else if...else é a seguinte:

if( expressão booleana 1{
   // Se a expressão booleana 1 Se for true, execute esse bloco de instruções
}else if( expressão booleana 2{
   // Se a expressão booleana 2 Se for true, execute esse bloco de instruções
}else if( expressão booleana 3{
   // Se a expressão booleana 3 Se for true, execute esse bloco de instruções
}else {
   // Se todas as condições acima forem false, execute esse bloco de instruções
}

Exemplo Online

object Test {
   def main(args: Array[String]) {
      var x = 30;
      if( x == 10 {
         println("O valor de X é 10");
      }else if( x == 20 ){
         println("O valor de X é 20");
      }else if( x == 30 ){
         println("O valor de X é 30");
      }else{
         println("Não é possível determinar o valor de X");
      }
   }
}

Execute o código acima, o resultado será:

$ scalac Test.scala 
$ scala Test
O valor de X é 30

Sentença aninhada if...else

A sentença aninhada if...else pode implementar a inserção de uma ou mais sentenças if dentro de uma sentença if.

Sintaxe

A sintaxe da sentença aninhada if...else é a seguinte:

if( expressão booleana 1{
   // Se a expressão booleana 1 Se for true, execute esse bloco de instruções
   if( expressão booleana 2{
      // Se a expressão booleana 2 Se for true, execute esse bloco de instruções
   }
}

Sentenças aninhadas else if...else, semelhantes às sentenças aninhadas if...else.

Exemplo Online

object Test {
   def main(args: Array[String]) {
        var x = 30;
        var y = 10;
         if( x == 30 ){
            if( y == 10 {
            println("X = 30 , Y = 10");
         }
      }
   }
}

Execute o código acima, o resultado será:

$ scalac Test.scala 
$ scala Test
X = 30 , Y = 10