运算符优先权
类别 | 操作者 | 关联性 |
---|---|---|
后缀 | () [] |
左到右 |
一元 | ! ~ |
右到左 |
乘 | * / % |
左到右 |
添加剂 | + - |
左到右 |
转移 | >> >>> << |
左到右 |
相关的 | > >= < <= |
左到右 |
相等 | == != |
左到右 |
按位和 | & |
左到右 |
按位 xor | ^ |
左到右 |
按位或 | | |
左到右 |
逻辑和 | && |
左到右 |
逻辑或 | || |
左到右 |
分配 | = += -= *= /= %= >>= <<= &= ^= |
= |
逗号 | , |
左到右 |
Scala 中的编程基于运算符中的第一个字符给出以下概述。例如,>
是运算符 >>>
中的第一个字符:
操作者 |
---|
(所有其他特殊字符) |
* / % |
+ - |
: |
= ! |
< > |
& |
^ |
| |
(所有字母) |
(所有赋值运算符) |
此规则的一个例外是关于赋值运算符,例如+=
,*=
等。如果运算符以相等的字符(=)结尾且不是比较运算符 <=
,>=
,==
或 !=
之一,则运算符的优先级与简单的赋值相同。换句话说,低于任何其他运算符的。