Scala if-else-if-else 语句怎么用?

文章导读
Previous Quiz Next ‘if’ 语句可以后跟一个可选的 ‘else if...else’ 语句,这对于使用单个 if...else if 语句测试各种条件非常有用。
📋 目录
  1. 流程图
  2. Scala if-else-if-else 语句示例
  3. 可整除性
A A

Scala - If-else-if-else 语句



Previous
Quiz
Next

‘if’ 语句可以后跟一个可选的 ‘else if...else’ 语句,这对于使用单个 if...else if 语句测试各种条件非常有用。

使用 if、else if、else 语句时,需要注意以下几点。

  • 一个 ‘if’ 可以有零个或一个 else,它必须在所有 else ifs 之后。
  • 一个 ‘if’ 可以有零个到多个 else if,它们必须在 else 之前。
  • 一旦某个 else if 成功,后续的 else if 或 else 都不会被测试。

流程图

以下是条件语句的流程图示意图 −

Scala If-else-if-else Statement

语法

以下是 if...else if...else 的语法 −

if(Boolean_expression 1){
   // 当 Boolean_expression 1 为 true 时执行
} else if(Boolean_expression 2){
   // 当 Boolean_expression 2 为 true 时执行
} else if(Boolean_expression 3){
   // 当 Boolean_expression 3 为 true 时执行
} else {
   // 当上述所有条件都不为 true 时执行
}

if 语句首先检查第一个条件 (Boolean_expression 1) 是否为 true。如果为 true,则执行 if 语句之后的代码。如果为 false,Scala 会检查 else if 语句中的下一个条件 (Boolean_expression 2)。如果第二个条件为 true,则执行其代码。

这种检查会继续进行到其他 else if 语句。如果所有条件都为 false,Scala 会执行 else 语句之后的代码。这样,只有第一个为 true 的条件对应的代码块会执行。

Scala if-else-if-else 语句示例

尝试以下示例程序,以理解 Scala 编程语言中的条件语句(if-else-if-else 语句) −

object Demo {
   def main(args: Array[String]) = {
      var x = 30;

      if( x == 10 ){
         println("Value of X is 10");
      } else if( x == 20 ){
         println("Value of X is 20");
      } else if( x == 30 ){
         println("Value of X is 30");
      } else{
         println("This is else statement");
      }
   }
}

if 语句首先检查第一个条件 (x == 10) 是否为 true。如果为 true,则执行 if 语句之后的代码,打印 "Value of X is 10"。如果为 false,Scala 会检查 else if 语句中的下一个条件 (x == 20)。如果第二个条件为 true,则执行其代码,打印 "Value of X is 20"。

这种检查会继续进行到其他 else if 语句。在本例中,下一个条件是 x == 30。如果此条件为 true,则打印 "Value of X is 30"。

如果所有条件都为 false,Scala 会执行 else 语句之后的代码,打印 "This is else statement"。这样,只有第一个为 true 的条件对应的代码块会执行。

将上述程序保存为 Demo.scala。使用以下命令编译和执行该程序。

命令

\>scalac Demo.scala
\>scala Demo

输出

Value of X is 30

可整除性

尝试以下另一个示例程序,以理解 Scala 编程语言中的条件语句(if-else-if-else 语句)−

object Demo {
   def main(args: Array[String]) = {
      val number = 15

      if (number % 2 == 0) {
         println("The number is even.")
      } else if (number % 3 == 0) {
         println("The number is divisible by 3.")
      } else {
         println("The number is not divisible by 2 or 3.")
      }
   }
}

if 语句首先检查第一个条件(number % 2 == 0)是否为真。如果为真,则运行 if 语句之后的代码,打印 "The number is even."。如果为假,Scala 会检查 else if 语句中的下一个条件(number % 3 == 0)。如果第二个条件为真,则运行其代码,打印 "The number is divisible by 3"。

如果所有条件均为假,Scala 会运行 else 语句之后的代码,打印 "The number is not divisible by 2 or 3."。通过这种方式,只会运行第一个为真的条件的代码块。

将上述程序保存为 Demo.scala。以下命令用于编译和执行此程序。

命令

>scalac Demo.scala
>scala Demo

输出

The number is divisible by 3.