运算符优先权

类别 操作者 关联性
后缀 () [] 左到右
一元 ! ~ 右到左
* / % 左到右
添加剂 + - 左到右
转移 >> >>> << 左到右
相关的 > >= < <= 左到右
相等 == != 左到右
按位和 & 左到右
按位 xor ^ 左到右
按位或 | 左到右
逻辑和 && 左到右
逻辑或 || 左到右
分配 = += -= *= /= %= >>= <<= &= ^= =
逗号 , 左到右

Scala 中的编程基于运算符中的第一个字符给出以下概述。例如,> 是运算符 >>> 中的第一个字符:

操作者
(所有其他特殊字符)
* / %
+ -
:
= !
< >
&
^
|
(所有字母)
(所有赋值运算符)

此规则的一个例外是关于赋值运算符,例如+=*= 等。如果运算符以相等的字符(=)结尾且不是比较运算符 <=>===!= 之一,则运算符的优先级与简单的赋值相同。换句话说,低于任何其他运算符的。