运算符编辑

运算符是脚本中对值进行评估的最基本操作。表达式是一个或多个连续的操作。优先级是指运算符相对于其他运算符的评估顺序。结合性是指表达式中特定运算符的评估方向。下表列出了所有可用的运算符

运算符

类别

符号

优先级

结合性

优先级

通用

()

0

左 → 右

方法调用

引用

. ()

1

左 → 右

字段访问

引用

.

1

左 → 右

空安全

引用

?.

1

左 → 右

函数调用

通用

()

1

左 → 右

数组初始化

数组

[] {}

1

左 → 右

数组访问

数组

[]

1

左 → 右

数组长度

数组

.

1

左 → 右

列表初始化

引用

[]

1

左 → 右

列表访问

引用

[]

1

左 → 右

映射初始化

引用

[:]

1

左 → 右

映射访问

引用

[]

1

左 → 右

后增量

数值

++

1

左 → 右

后减量

数值

 — 

1

左 → 右

前增量

数值

++

2

右 → 左

前减量

数值

 — 

2

右 → 左

一元正

数值

+

2

右 → 左

一元负

数值

-

2

右 → 左

布尔非

布尔

!

2

右 → 左

按位非

数值

~

2

右 → 左

类型转换

通用

()

3

右 → 左

新建实例

引用

new ()

3

右 → 左

新建数组

数组

new []

3

右 → 左

乘法

数值

*

4

左 → 右

除法

数值

/

4

左 → 右

取余

数值

%

4

左 → 右

字符串连接

引用

+

5

左 → 右

加法

数值

+

5

左 → 右

减法

数值

-

5

左 → 右

左移

数值

<<

6

左 → 右

右移

数值

>>

6

左 → 右

无符号右移

数值

>>>

6

左 → 右

大于

布尔

>

7

左 → 右

大于或等于

布尔

>=

7

左 → 右

小于

布尔

<

7

左 → 右

小于或等于

布尔

<=

7

左 → 右

instanceof

布尔

instanceof

8

左 → 右

相等等于

布尔

==

9

左 → 右

不相等

布尔

!=

9

左 → 右

恒等等于

布尔

===

9

左 → 右

恒等不等于

布尔

!==

9

左 → 右

按位与

数值

&

10

左 → 右

布尔异或

布尔

^

11

左 → 右

按位异或

数值

^

11

左 → 右

按位或

数值

|

12

左 → 右

布尔与

布尔

&&

13

左 → 右

布尔或

布尔

||

14

左 → 右

条件

通用

? :

15

右 → 左

Elvis

通用

?:

16

右 → 左

赋值

通用

=

17

右 → 左

复合赋值

通用

$=

17

右 → 左