-
!
(逻辑非)大于*/%+-
(算数运算符)
测试内容!0*6
步骤 如果*
优先级高应该执行0*6
,得0
,逻辑非运算之后为1
;反之,结果为6
。逻辑非是单目运算符,逻辑非运算符也比较特殊,个人感觉像是()括号运算符,在使用单目运算符是相当于(!0)*6
,因为!只能操作一个变量或者常量,改变!0*6
这四个的位置{!6*0
0*!6
6*!0
}也得不到什么有用的组合。所以最后应该还是逻辑非优先级大。
代码演示 -
==
(等于运算符)大于!=
(不等于运算符)
测试内容1!=1==0
步骤 如果==
大于!=
先计算1==0
,得0,在计算1!=0
,得1。反之,先计算1!=0
,得1,然后1==0
,得0。
代码演示 -
!=
大于&
(按位与)
测试内容3&5!=0
步骤 如果!=
运算符优先级高,先计算5!=0
,结果为1
,然后与3按位与,3的二进制是11
,1的二进制是1
,最终结果是1
。反之,5的二进制是101
,结果是1
,1!=0
结果是假,最终结果是0
。
代码演示 -
&
大于^
测试内容2^2&2
步骤 如果过&
优先级高,先算2&2
,结果是10
(二进制),然后是10^10
,结果是11
。反之,先算2^2
,结果是11
,然后11&10
,结果是10
。
代码演示
网友评论