运算符

编辑

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

运算符

类别

符号

优先级

结合性

优先级

通用

()

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

从右到左