Java中的运算符

1、算数运算符


  • 加法:+
  • 减法: -
  • 乘法: *
  • 除法: / (注:除数不能为0)
  • 取模: % 如 5%-2=1,-5%-2=-1
  • 自加:++ (操作数的值加1)
  • 自减:-- (操作数的值减1)

2、赋值运算符


  • 赋值: = (将右侧的数据赋值给左侧)
  • 加等于:+=
  • 减等于:-=
  • 乘等于:*=
  • 除等于:/=
  • 模等于:%=

3、关系运算符


  • 大于: >
  • 小于: <
  • 等于: == (扩展:可以比较两个对象的引用)
  • 不等于: != (扩展: 以比较两个对象的引用)
  • 大于等于: >=
  • 小于等于: <=
  • 扩展:instanceof,作用是测试它左边的对象是否是它右边的类的实例

4、逻辑运算符


  • 与:&& (and)
  • 或:|| (or)
  • 非:! (not)

5、三目运算法


语法: <表达式1>?<表达式2>:<表达式3>;

6、位运算符


位运算指的是进行二进制位的运算。

  • 取反:~
  • 按位与:&
  • 按位或:|
  • 按位异或:^
  • 左移运算符:<< (左移1位相当于乘2)
  • 右移运算符:<< (右移1位相当于除2)

扩展:补码

“补码” 是计算机用于规划计算的一种二进制表示方式,定长变量空间中,使用数值的第一位来表示数据的正负,如 00000011来表示+3,而10000011来表示-3。

这些非0数值在逻辑上的表示都是没有问题的,这种表示方法称为源码表示法。但是用00000000表示+0,而10000000表示-0,则出现逻辑上的偏差,即:+0 不等于 -0。

在解决这个问题同时要满足数学减法运算规则,a-a=0 转化为 a+(-a)=0的规则,所以提出了补码表示法。

补码的计算公式:

  • 正数:源码、反码和补码都相同。
  • 负数:补码 = 反码(符号位保持不变) + 1。 如 11110101+1=11110110

注:负数在计算补码的时候,在源码取反的过程中要保持符号位不变,其他位取反。如:10001010取反11110101(第一个1不变)。

原文地址:https://www.cnblogs.com/m987/p/15773002.html