逻辑符的运算优先级表(根据优先级从大到小排列)
优先级 运算类型 关联性 运算符
19 圆括号 n/a ( … )
18 成员访问 从左到右 … . …
需计算的成员访问 从左到右 … [ … ]
new (带参数列表) n/a new … ( … )
17 函数调用 从左到右 … ( … ) new (无参数列表) 从右到左 new … 15 逻辑非 从右到左 ! … 一元加法 从右到左 + … 一元减法 从右到左 - … 前置递增 从右到左 ++ … 前置递减 从右到左 -- … typeof 从右到左 typeof … void 从右到左 void … delete 从右到左 delete … 14 乘法 从左到右 … * … 除法 从左到右 … / … 取模 从左到右 … % … 13 加法 从左到右 … + … 减法 从左到右 … - … 12 按位左移 从左到右 … << … 11 小于 从左到右 … < … 小于等于 从左到右 … <= … 大于 从左到右 … > … 大于等于 从左到右 … >= … in 从左到右 … in … instanceof 从左到右 … instanceof … 10 等号 从左到右 … == … 非等号 从左到右 … != … 全等号 从左到右 … === … 非全等号 从左到右 … !== … 9 按位与 从左到右 … & … 8 按位异或 从左到右 … ^ … 7 按位或 从左到右 … | … 6 逻辑与 从左到右 … && … 5 逻辑或 从左到右 … || … 4 条件运算符 从右到左 … ? … : … 3 赋值 从右到左 … = … … += … … -= … … *= … … /= … … %= … … &= … … ^= … … |= …
总结:1.赋值操作排在所有的比较最后,(num == 1)里的内用最优先运算。
2.成员访问的优先级在,()运算之后,在其他的运算之前。
3.函数的执行,在其他比较和运算符之前之前。
4.判断的优先级也在赋值 = 号的最前边。
5.逻辑与 和 逻辑或 要在左右两边的运算完成以后,在进行 逻辑与 和 逻辑或 比较。