Java运算符与表达式

Java运算符号,表达式

算术运算符、自增自减运算符

  • 算术运算符与算术表达式

  • 自增、自减运算符: ++、–

    • Java按照运算符两边最高精度保留结果

关系运算符

Java运算符与表达式

赋值运算符

  • 赋值运算符与赋值表达式
    • 赋值运算符:=
    • 赋值表达式:<变量> = <数值 | 变量>

位运算

位运算是将数据先转化为二进制数,再逐位(bit)按规则计算

  • “按位与”运算符“&”,规则:全1则1,否则为0

  • “按位或”运算符“|”,规则:全0则0,否则为1

  • “按位非”运算符“~”,规则:遇1则0,遇0则1

  • “按位异或”运算符“^”,规则:相同为0,不同为1

异或加密算法

  • 异或算法是可逆的,如果对某个数据a进行两次相同的异或运算,则结果会还原为a
    Java运算符与表达式

  • 例如:对数值3进行两次和5的异或运算

    • 3 ^ 5 = 6
    • 6 ^ 5 = 3

逻辑运算符

Java运算符与表达式

Java运算符与表达式

结果分析

  1. 经过逻辑运算后,y的值仍然为10,逻辑运算符有短路的情况

  2. 经过位运算后,b的值为20,故:位运算没有短路情况

逻辑运算与位运算区别

  • 逻辑运算符只能针对boolean类型进行逻辑运算,而位运算还可以对数值进行逻辑运算

  • 逻辑运算符有短路情况,即前面的表达式可以得到最终结果时,后面的表达式将不被执行

移位运算符

  • “>>” 右移运算符:将二进制数据进行右移运算。

  • “<<” 左移运算符:将二进制数据进行左移运算。

  • “>>>” 无符号右移运算符:无论正负,都在高位插入0。

Java运算符与表达式

运算结果是:

8
12
-8
-12
536780910

三目条件运算符

三目条件运算符是一个逻辑判断与赋值运算符的组合。语法如下:
<逻辑表达式> ? <表达式1> : <表达式2>
当逻辑表达式为真时,表达式1有效;当逻辑表达式为假时,表达式2有效。