Scala中的运算符

注意:本教程是Scala教程系列的延续。如果您还没有阅读Scala初学者指南Scala中的IF ELSE,请查看它们。

介绍

运算符是一个符号或函数,表示对一个或多个操作数执行的操作。有许多不同类型的运算符,而操作数可以被视为变量。运算符是所有编程语言的基础。运算符允许我们对操作数执行各种操作。运算符通知编译器执行如数学(算术)、逻辑、赋值等运算,并最终输出结果。

在许多编程语言以及Scala中使用不同类型的运算符,如下:

  • 关系运算符
  • 算术运算符
  • 赋值运算符
  • 逻辑运算符
  • 位运算符

您将理论学习以上运算符,并通过编程实践。

关系运算符

关系运算符主要用于比较两个或更多变量。如果你阅读了Scala中的IF ELSE教程,那么你会注意到,在IF ELSE条件中你已经利用了关系运算符的强大功能。

这些关系运算符返回一个布尔值,即真或假。

以下是你在变量上使用的关系运算符符号(来源:Scala中的运算符):

  • 等于(==):它检查两个给定的变量或操作数是否相等。如果相等,则返回true,否则返回false。

  • 不等于(!=):它是等于运算符的相反,或者说它是等于运算符的布尔补。它检查两个给定的操作数是否相等。如果不相等,则返回true,否则返回false。

  • 大于(>): 它检查第一个操作数是否大于第二个操作数。如果是,则返回 true,否则返回 false。

  • 小于(<): 它是大于操作符的相反操作,因为它检查第一个操作数是否小于第二个操作数。如果是,则返回 true,否则返回 false。

  • 大于等于(>=): 此操作符检查第一个操作数是否大于或等于第二个操作数。如果是,则返回 true,否则返回 false。

  • 小于等于(<=):大于等于操作符的相反操作。它检查第一个操作数是否小于或等于第二个操作数。如果是,则返回 true,否则返回 false。

现在让我们通过一个代码来理解关系运算符。

要运行上述代码,你只需要输入scala relation_op.scala,你应该会看到如下所示的输出。

接下来,你将学习关于逻辑运算符的内容。

逻辑运算符

它们主要用在条件语句中,比如IF ELSE语句,甚至用在while循环中。它结合了两个或更多的条件,或者也补全了原始条件的输出。 (来源:Scala中的运算符)

  • 逻辑与: 当两个条件都满足时,它返回true。否则,返回false。使用“and”作为&&运算符的代理。

  • 逻辑或: 当其中一个(或两个)条件满足时,它返回true。否则,返回false。使用“or”作为||运算符的代理。

  • 逻辑非:Logical NOT: 当考虑的条件不满足时,它返回true。否则,返回false。”非”使用相当于 ! 操作符。

算术(数学)运算符

顾名思义,算术运算符用于在操作数之间执行数学运算。

以下是Scala中经常使用的算术运算符(来源:Scala中的运算符):

  • 加法:Addition: 将两个变量/操作数相加 $(+)$。

  • 减法:Subtraction: 将两个操作数相减 $(-)$。

  • 乘法:Multiplication: 将两个操作数相乘 $(\times)$。

  • 除法:Division: 将第一个操作数除以第二个操作数 $(/)$。
  • 指数:返回操作数的指数(幂)。基本上,当一个操作数被提升到第二个操作数的幂时(x^y)或(x**y)。

  • 取模:当第一个操作数除以第二个操作数时,余数或称为模(%)。

让我们快速编写一段小代码并分析结果。

在此示例中,您将使用列表而不是仅定义变量。与变量不同,列表可以持有n个不同数据类型的值,它们在Scala中表示链表并且是不可变的。您将通过对两个列表执行算术运算,而不是两个变量。

赋值运算符

赋值给变量时,使用赋值运算符。为此,将右侧的操作数视为值,而左侧的操作数通常是接收值的变量。该值可以有不同的数据类型,如intfloat等。变量和值的数据类型应该相同,否则编译器会引发错误。(来源:Scala中的运算符

  • 简单赋值:此运算符用于将值赋给变量$(=)$。

  • 加和赋值:它用于将左操作数与右操作数相加,最后将其赋给左侧的变量$(+=)$。

  • 减和赋值:这与加和赋值类似。它用于将左操作数与右操作数相减,最后将其赋给左侧的变量$(-=) $。

  • 乘法和赋值: 用于将左操作数与右操作数相乘,然后将结果赋值给左侧的变量 $(\times =)$。

  • 除法和赋值: 用于将左操作数与右操作数相除,然后将结果赋值给左侧的变量 $(/=)$。

类似地,还有许多这样的赋值运算符。最后,让我们编写一段代码来了解它们在编程中的工作原理。

结论

恭喜你完成了这个Scala教程。

如果你已经阅读了之前的两个教程,现在你已经覆盖了Scala中的三个不同主题。一个有用的练习是利用所有三个教程中获得的技能,从头开始编写一个Scala程序。这不仅会增强你的信心,还会让你在学习更高级的Scala主题时更加轻松。

参考资料:

请随时在下面的评论区提问与本教程相关的问题。

Source:
https://www.datacamp.com/tutorial/operators-in-scala