Java的运算符

耗尽温柔 提交于 2020-01-11 01:58:13

运算符的分类

运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。运算符按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符和其他运算符。

算术运算符

  • 单目:~(按位取反)、!(取非)、-(负号运算符)、++(自增)、--(自减)
  • 双目:+(加)、-(减)、 *(乘)、 /(除)、 %(取余)
  • 三目:a > b ? true : false(当 a 大于 b 的时候,为 true,否则为 false;这整个运算符包括一个关系运算符(可以是“>”,“<”,“!=”等等),一个“?”,一个“:”,冒号前后需要有两个表达式、值或者是对象。)

赋值运算符

  • =
  • +=
  • -=
  • *=
  • /=
  • %=
  • &=
  • ^=
  • |=
  • <<=
  • >>=

关系运算符

关系运算符用于比较两个数值之间的大小,其运算结果为一个逻辑类型(boolean布尔类型)的数值。

  • 等于符号:==
  • 不等于符号:!=
  • 大于符号:>
  • 小于符号:<
  • 大于等于符号:>=
  • 小于等于符号:<=

逻辑运算符

  • 与(&&)
    对于&来说,如果左侧条件为false,也会计算右侧条件的值,而对于&&来说,如果左侧的条件为false,则不计算右侧的条件,这种现象被称作短路现象。 所谓短路计算,是指系统从左至右进行逻辑表达式的计算,一旦出现计算结果已经确定的情况,则计算过程即被终止。 对于&&运算来说,只要运算符左端的值为false,则因无论运算符右端的值为true或为false,其最终结果都为false。
  • 或(||)
    对于 || 运算来说,只要运算符左端的值为true,则因无论运算符右端的值为true或为false,其最终结果都为true。 所以,系统一旦判断出|| 运算符左端的值为true,则系统将终止其后的计算过程。
  • 非(!)

位运算符

  • 与(&)
    • &:双目运算符,运算时均把运算数转换为二进制再做比较,规则:当相同的位上均为1时结果为1,否则结果为0。如:1010 & 1101,转为二进制:1111110010 & 10001001101,比较结果为:1000000转为十进制: 64。所以1010 & 1101 = 64;
  • 非(~)
    • ~:按位取反,0变1,1变0
  • 或(|)
    • | :当两边操作数的位有一边为1时,结果为1,否则为0。如1100 | 1010 = 1110
  • 异或(^)
    • ^:两边的位不同时,结果为1,否则为0.如1100^1010 = 0110

其他运算符

  • instanceof
    该运算符是双目运算符,左面的操作元是一个对象,右面是一个类或接口。当左面的对象是右面的类(或右边类的子孙类)创建的对象、或者是右边接口的实现类(或实现类的子孙类)的对象时,该运算符运算结果是true,否则是false。
    位移

  • << 带符号左移

  • >> 带符号右移

  • >>> 无符号右移

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!