算术运算符
| 运算符 | 说明 |
|---|---|
| * | 乘法 |
| / | 除法 |
| + | 加法 |
| - | 减法 |
| % | 取余数 |
赋值运算符
复合运算符
可以使用*=、/=、+=、-=、%=简写算术运算。即 n=2 等同于 n=n2。
一元运算符
前置操作 i++
后置操作 ++i
比较运算符
| 运算符 | 说明 |
|---|---|
| > | 大于 |
| < | 小于 |
| >= | 大于或等于 |
| <= | 小于等于 |
| == | 强制类型转换比较 |
| === | 不强制类型转换比较 |
逻辑运算符
逻辑非
使用 ! 符号表示逻辑非,即原来是true转变为false,反之亦然。
逻辑与
使用 && 符号表示逻辑与,指符号两端都为 true 时表达式结果为true。
逻辑或
使用 || 符号表示逻辑或,指符号左右两端有一方为true,表达式即成立。
优先级
| 优先级 | 运算符 | 说明 | 结合性 |
|---|---|---|---|
| 1 | []、.、() | 字段访问、数组索引、函数调用和表达式分组 | 从左向右 |
| 2 | ++ — -~!delete new typeof void | 一元运算符、返回数据类型、对象创建、未定 义的值 |
从右向左 |
| 3 | *、/、% | 相乘、相除、求余数 | 从左向右 |
| 4 | +、- | 相加、相减、字符串串联 | 从左向右 |
| 5 | <<、>>、>>> | 左位移、右位移、无符号右移 | 从左向右 |
| 6 | <、<=、>、>=、instanceof | 小于、小于或等于、大于、大于或等于、是否 为特定类的实例 |
从左向右 |
| 7 | ==、!=、===、!== | 相等、不相等、全等,不全等 | 从左向右 |
| 8 | & | 按位“与” | 从左向右 |
| 9 | ^ | 按位“异或” | 从左向右 |
| 10 | | | 按位“或” | 从左向右 |
| 11 | && | 短路与(逻辑“与”) | 从左向右 |
| 12 | || | 短路或(逻辑“或”) | 从左向右 |
| 13 | ?: | 条件运算符 | 从右向左 |
| 14 | =、+=、-=、*=、/=、%=、&=、|=、^=、<、<=、>、>=、>>= | 混合赋值运算符 | 从右向左 |
| 15 | , | 多个计算 | 按优先级计算,然后从右向左 |
