運算子優先權
| 類別 | 操作者 | 關聯性 |
|---|---|---|
| 字尾 | () [] |
左到右 |
| 一元 | ! ~ |
右到左 |
| 乘 | * / % |
左到右 |
| 新增劑 | + - |
左到右 |
| 轉移 | >> >>> << |
左到右 |
| 相關的 | > >= < <= |
左到右 |
| 相等 | == != |
左到右 |
| 按位和 | & |
左到右 |
| 按位 xor | ^ |
左到右 |
| 按位或 | | |
左到右 |
| 邏輯和 | && |
左到右 |
| 邏輯或 | || |
左到右 |
| 分配 | = += -= *= /= %= >>= <<= &= ^= |
= |
| 逗號 | , |
左到右 |
Scala 中的程式設計基於運算子中的第一個字元給出以下概述。例如,> 是運算子 >>> 中的第一個字元:
| 操作者 |
|---|
| (所有其他特殊字元) |
* / % |
+ - |
: |
= ! |
< > |
& |
^ |
| |
| (所有字母) |
| (所有賦值運算子) |
此規則的一個例外是關於賦值運算子,例如+=,*= 等。如果運算子以相等的字元(=)結尾且不是比較運算子 <=,>=,== 或 != 之一,則運算子的優先順序與簡單的賦值相同。換句話說,低於任何其他運算子的。