一个运算符是一个符号,用于告诉编译器来执行指定的数学运算和逻辑运算。Scala 含有丰富的内置运算符,包括以下几种类型:
-
算术运算符
-
关系运算符
-
逻辑运算符
-
位运算符
-
赋值运算符
1.算术运算符
运算符 | 描述 |
+ | 加号 |
- | 减号 |
* | 乘号 |
/ | 除号 |
% | 取余 |
2.关系运算符
运算符 | 描述 |
== | 等于 |
!= | 不等于 |
> | 大于 |
< | 小于 |
>= | 大于等于 |
<= | 小于等于 |
3.逻辑运算符
运算符 | 描述 |
&& | 逻辑与 |
|| | 逻辑或 |
! | 逻辑非 |
4.位运算符
位运算符用来对二进制位进行操作:
p | q | p & q | p | q | p ^ q |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
运算符 | 描述 |
& | 按位与运算符 |
| | 按位或运算符 |
^ | 按位异或运算符 |
~ | 按位取反运算符 |
<< | 左移动运算符 |
>> | 右移动运算符 |
>>> | 无符号右移 |
5.赋值运算符
运算符 | 描述 |
= | 简单的赋值运算,指定右边操作数赋值给左边的操作数 |
+= | 相加后再赋值,将左右两边的操作数相加后再赋值给左边的操作数 |
-= | 相减后再赋值,将左右两边的操作数相减后再赋值给左边的操作数 |
*= | 相乘后再赋值,将左右两边的操作数相乘后再赋值给左边的操作数 |
/= | 相除后再赋值,将左右两边的操作数相除后再赋值给左边的操作数 |
%= | 求余后再赋值,将左右两边的操作数求余后再赋值给左边的操作数 |
<<= | 按位左移后再赋值 |
>>= | 按位右移后再赋值 |
&= | 按位与运算后赋值 |
^= | 按位异或运算符后再赋值 |
|= | 按位或运算后再赋值 |
6.运算符的重载
从语法上来说scala是没有运算符的。Scala的运算符实际上是方法名,如1 + 2实际上就是1.+(2)。我们可以将之视为运算符,是因为在Scala中,如果方法的参数小于等于1个的话,那么“.”和括号就都是可选的。