说明: 因为这一块和C语言的规则相差无几,所以此处不会重点描述,只说明一下其中的重点和与C不同的部分。
instanceof运算符
该运算符为二目运算符,左边的操作单元是一个对象,右边的是一个类。当左边的对象时右边的类或者子类创建的对象时,该运算符运算的结果时true,否则为false。
自增自减运算符
此处仅以(++X)和(X++)为例。粗略的看,++x
和 x++
的作用都是使x+1。
但是++x
是先执行x=x+1
,然后再使用x的值,而x++
是先使用x的值然后再执行x=x+1
。举个栗子:
x = 5; //仅给出部分代码显示其功能
y = ++x; // y的值为6
z = x++; // z的值为5
运算符优先级与结合性
优先级 | 描述 | 运算符 | 结合性 |
---|---|---|---|
1 | 分隔符 | [ ] ( ) . , ; | |
2 | 对象归类,自增,自减函数,逻辑非 | instanceof, ++, --, ! | 从左到右 |
3 | 算数乘除运算 | *, /, % | 从左到右 |
4 | 算数加减运算 | +, - | 从左到右 |
5 | 移位运算 | >>, <<, >>> | 从左到右 |
6 | 大小关系运算 | <, <=, >, >= | 从左到右 |
7 | 相等关系运算 | ==, != | 从左到右 |
8 | 按位与运算 | & | 从左到右 |
9 | 按位异或运算 | ^ | 从左到右 |
10 | 按位或运算 | | | 从左到右 |
11 | 逻辑与运算 | && | 从左到右 |
12 | 逻辑或运算 | || | 从左到右 |
13 | 三木条件运算 | 表达式?语句1:语句2 | 从左到右 |
14 | 赋值运算 | = | 从右到左 |