Scala中带有示例的运算符

Scala运算符

操作者是代表是在程序中执行的操作的符号。运算符告诉编译器执行特定操作,每个运算符都与一个关联,并且具有唯一的标识码。运算符在编程中起着重要作用,它们被用来生成执行任务的表达式。它定义了操作数之间的运算,基于它们的运算符可以是一个,两个或三个操作数。

Scala是在Scala中进行编程时可以使用的大量运算符。他们是:

  1. 算术运算符

  2. 关系运算符

  3. 逻辑运算符

  4. 按位运算符

  5. 赋值运算符

1)算术运算符

为了在Scala中执行算术运算,定义了算术运算符。Scala中定义了以下算术运算符,

运算符描述
加法运算符(+)将两个操作数相加
12 + 45 = 57
减法运算符(-)从第一个
23-4 = 19减去第二个运算符
乘法运算符(*)将两个操作数相乘
25 * 6 = 150
除法运算符(/)将第一个运算符除以第二
124/4 = 31
模量(%)当第一个运算符除以第二个
123%5 = 3时给出余数

2)关系运算符

关系运算符用于定义两个运算符之间的比较。也称为比较运算符。以下是Scala中的关系运算符,

运算符描述
等于(==)比较两个操作数是否相等,如果是,则输出TRUE,否则输出FALSE
12 == 34→FALSE
23 ==(46/2)→TRUE
不等于(!=)比较两个操作数是否不相等,如果是,则输出TRUE,否则输出FALSE
12!= 34→TRUE
23!=(46/2)→FALSE
大于(>)检查操作数1是否大于操作数2。如果是,则输出true,否则输出false
34> 2→TRUE
34> 334→FALSE
大于等于(> =)检查操作数1是否大于或等于操作数2。如果是,则输出true,否则返回false
34> = 2→TRUE
34> = 334→FALSE
34> = 34→TRUE
小于(<)检查操作数1是否小于操作数2。如果是,则输出true,否则输出false
34 <2→FALSE
34 <334→TRUE
小于等于(<=)检查操作数1是否小于或等于操作数2。如果是,则输出true,否则返回false
34 <= 2→FALSE
34 <= 334→TRUE
34 <= 34→TRUE

3)逻辑运算符

逻辑运算符用于组合逻辑输出(true / False)或反向转换为条件或操作数的逻辑输出。Scala定义了以下逻辑运算符,

运算符描述
和(&&或and)如果两个操作数的逻辑值为TRUE,则输出TRUE,否则输出FALSE。
或(||或或)如果两个操作数的逻辑值为FALSE,则输出FALSE,否则输出TRUE。
不(!或不)它将操作数的输出取反。

和,或和,而不是基于不同操作数值的运算符的结果:

一种A && BA || 乙!一种
真正真正真正真正
真正真正
真正真正真正
真正

4)按位运算符

它适用于操作数的位。它对操作数的每一位进行运算以提供输出。以下是Scala中有效的按位运算符,

运算符描述
按位与(&)它需要两个操作数的每一位,并对它执行AND操作。
2&6 = 2-> 010&110 = 010
按位或(|)它需要两个操作数的每一位并对其执行“或”运算。
2 | 6 = 6-> 0010 | 0110 = 0110
按位XOR(^)它需要两个操作数的每一位,并对它执行XOR操作。
当两个操作数不同时,XOR运算给出1输出。
2 ^ 6 = 4-> 0010 ^ 0110 = 0100
按位左移(<<)它将操作数1的位左移n位;n由操作数2指定
.12 << 3 = 96-> 0000 1100 << 3 = 0110 0000
按位右移(>>)它将操作数1的位右移n位;n由操作数2指定
.12 >> 3 = 129-> 0000 1100 >> 3 = 1000 0001
按位右移零填充(>>>)它将操作数1的位移位n位;n由操作数2指定。并将移位后的位填充0。12
>>> 3 = 1-> 0000 1100 >>> 3 000 0001
按位补码(〜)它占用操作数的每一位并反转其位。
〜12 = 243->〜(0000 1100)= 1111 0011

5)赋值运算符

赋值运算符用于将值赋给变量。变量在运算符的左侧,而值在运算符的右侧。双方的数据类型必须相同,以避免程序出错。

以下是Scala中的有效赋值运算符,

运算符描述
简单分配(=)它只是将左侧的值分配给右侧的变量。
a = 2432;
添加并分配(+ =)它将左值添加到右值。
c + = 32-> c = c + 32
减去并分配(-=)从右边的值中减去左边的值。
c-= 32-> c = c-32
相乘并赋值(* =)它将左边的值与右边的值相乘。
c * = 32-> c = c * 32
划分并分配(/ =)它将左值与右值相除。
c / = 32-> c = c / 32
剩余并分配(%=)它找到右值的模数除以左值。
c%= 32-> c = c%32
左移并分配(>> =)它将左操作数的位移位n,由右运算符定义n,并将此值分配给左运算符。
我>> = 6->我=我>> 6
右移并分配(<< =)它将右操作数的位移位n,由右运算符定义n,并将此值分配给左运算符。
我<< = 6->我=我<< 6
按位与赋值(&=)它执行左操作数和右操作数的按位和运算,并将此值分配给左运算符。
我&= 6->我=我&6
按位异或分配(^ =)它执行左操作数和右操作数的按位异或运算,并将此值分配给左运算符。
i ^ = 6-> i = i&6

所有运算符都按原样应用在Scala中,您可以轻松地使用它们,但是要避免错误的操作数数据类型应该相同。