Java运算符与表达式
Java运算符号,表达式
算术运算符、自增自减运算符
算术运算符与算术表达式
-
自增、自减运算符: ++、–
- Java按照运算符两边最高精度保留结果
关系运算符
赋值运算符
- 赋值运算符与赋值表达式
- 赋值运算符:=
- 赋值表达式:<变量> = <数值 | 变量>
位运算
位运算是将数据先转化为二进制数,再逐位(bit)按规则计算
“按位与”运算符“&”,规则:全1则1,否则为0
“按位或”运算符“|”,规则:全0则0,否则为1
“按位非”运算符“~”,规则:遇1则0,遇0则1
“按位异或”运算符“^”,规则:相同为0,不同为1
异或加密算法
异或算法是可逆的,如果对某个数据a进行两次相同的异或运算,则结果会还原为a
-
例如:对数值3进行两次和5的异或运算
- 3 ^ 5 = 6
- 6 ^ 5 = 3
逻辑运算符
结果分析
经过逻辑运算后,y的值仍然为10,逻辑运算符有短路的情况
经过位运算后,b的值为20,故:位运算没有短路情况
逻辑运算与位运算区别
逻辑运算符只能针对boolean类型进行逻辑运算,而位运算还可以对数值进行逻辑运算
逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行
移位运算符
“>>” 右移运算符:将二进制数据进行右移运算。
“<<” 左移运算符:将二进制数据进行左移运算。
“>>>” 无符号右移运算符:无论正负,都在高位插入0。
运算结果是:
8
12
-8
-12
536780910
三目条件运算符
三目条件运算符是一个逻辑判断与赋值运算符的组合。语法如下:
<逻辑表达式> ? <表达式1> : <表达式2>
当逻辑表达式为真时,表达式1有效;当逻辑表达式为假时,表达式2有效。