
像许多其他应用程序和编程语言一样,Scala也有决策条件if-else
语句。如果条件为真,则执行if
语句条件块,否则执行else
条件块(仅当存在else
语句时)。
通常,else
语句没有条件;仅当if
条件为假时才执行。因此,简而言之,if-else
语句由基于True-False
的布尔表达式组成。
有各种类型的if-else
语句:
– If 语句,
– If-Else 语句,
– 嵌套 If-else 语句,
– If-Else-If-Else 语句。
在开始学习不同的if-else
语句之前,让我们按照以下步骤快速为mac用户设置Scala环境。
注意: 确保你已安装Java,如果没有,请按照此处提供的说明进行操作。
– \$ brew update
– \$ brew install scala
– \$ brew install sbt
– \$ echo ‘-J-XX:+CMSClassUnloadingEnabled’ >>
/usr/local/etc/sbtopts
– \$ echo ‘-J-Xmx2G’ >> /usr/local/etc/sbtopts
完成上述步骤后,迅速测试安装,通过在终端中输入scala
,您应该看到如下所示的输出。

注意: 在本教程中,您将在vim
编辑器中编写代码,并从终端执行它。
Scala 条件语句
if
语句包含一个布尔(真或假)性质的表达式。如果表达式为真,则执行if
语句内的代码块;如果表达式为假,则执行if
语句结束后的第一行代码。
if(boolean expression) { execute if boolean expression holds true }
首先,您将在一个名为scala_if
的对象
或类
中定义一个object
或class
,在该对象中设置您的main
函数并编写主要代码体。您将创建一个整数变量x
,其值为20。最后,是代码的核心部分,即带有条件x<=20
的if
块,由于x
的值为20,因此将执行if
语句内的代码块。
让我们将下面的代码保存为if.scala
。

要运行上述代码,您需要做的是输入scala if.scala
,您应该看到如下所示的输出。

Scala if-else 语句
类似于if
语句,if-else
语句包含一个布尔表达式(真或假)。如果if
语句为真,则执行if
语句内的代码块;如果为假,则执行else
语句内的代码块。
if(boolean expression) { execute if boolean expression holds true } else { execute block if boolean expression (if statement) holds false }
以下代码将执行else
语句,因为变量x
的值大于20,所以将执行else
语句内的代码块。
让我们用if-else.scala
这个名字保存以下代码。

要运行上述代码,只需输入scala if-else.scala
,你应该能看到如下输出。

Scala 嵌套 if-else 语句
与通常的if
语句后跟else
语句类似,嵌套的if-else
语句也类似。在嵌套的if-else中,你可以在一个if或else-if语句内使用另一个if或else-if语句。
在下一节,你将了解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 } }
以下代码使用嵌套-if
语句来比较四个整型变量$v$、$x$、$y$和$z$,最后,如果所有语句都正确,则在终端打印输出。
让我们用名字nested-if-else.scala
保存以下代码。


Scala else-if 语句
与if-else
语句相比,else-if
语句更为强大。不同于if-else
语句中的else
后面跟一个if
语句,else-if
本身就是一个单独的语句。它让你可以自由地测试各种条件。
然而,在使用else-if
语句时,有一些规则需要记住:
-
else-if
只能紧跟在if
语句之后,一个if
语句可以有零个或多个else-if
。 -
同样,
else
只能紧跟在if
和else-if
语句之后,一个if
语句可以有零个或一个else
语句。 -
一旦某个
else-if
成功,剩余的else-if
或else
将不再考虑,直接跳过。
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 }
结论
恭喜你完成本教程。
本教程是对那些对Scala中的条件IF ELSE语句感兴趣的新手的一个很好的起点。
给大家一个小练习,就是编写一个针对Scala中的else-if
语句的小段代码,并尝试理解这些语句与其他语句的不同之处。
参考资料:
请在下面的评论部分随时提出与这个教程相关的任何问题。