Skip to content

运算符

运算符不只Java中有,其他语言也有运算符,运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较方面,我们就以Java为例,来看一下运算符。

赋值运算符

赋值运算符使用操作符=来表示,意思是把=号右边的值复制给左边,右边的值可以是任何常数、变量或者表达式,但左边的值必须是一个明确的,已经定义的变量。

但是对于对象来说,复制的不是对象的值,而是对象的引用,所以如果说将一个对象复制给另一个对象,实际上是将一个对象的引用赋值给另一个对象。

算数运算符

算数运算符就和数学中的数值计算类似,主要有

运算符说明
+
-
*
/
%取余

算数运算符需要注意的就是优先级问题,当一个表达式中存在多个操作符时,操作符的优先级顺序就决定了计算顺序,最简单的规则就是先乘除后加减,()的优先级最高,没必要记住所有的优先级顺序,不确定的直接用0就可以了。

比较运算符

比较运算符用于程序中的变量之间,变量和自变量之间以及其他类型的信息之间的比较。比较运算符的运算结果是boolean型。当运算符对应的关系成立时,运算的结果为true,否则为false

比较运算符共有6个,通常作为判断的依据用于条件语句中。

运算符说明
>大于
<小于
==等于
>=大于等于
<=小于等于
!=不等于

逻辑运算符

逻辑运算符主要有三种,与、或、非。

运算符说明
&&短路与
||短路或
!逻辑非
&逻辑与
|逻辑或
^逻辑异或

异或用法:

java
// 相同为0,不同为1
//交换a、b的值
a=a^b
b=a^b
a=a^b

按位运算符

按位运算符用来操作整数基本类型中的每个比特位,也就是二进制位。按位操作符会对两个参数中对应的位执行布尔代数运算,并最终生成一个结果。

运算符作用
&与 eg: 4 & 5 = 4
|或 eg: 4|5 = 5
~非 eg: 4 ^ 5 = 1
^异或 eg: ~4 = ~5

如果进行比较的双方是数字的话,那么进行比较就会变为按位运算。

按位与:按位进行与运算(AND),两个操作数中位都为1,结果才为1,否则结果为0。需要首先把比较双方转换成二进制再按每个位进行比较。

按位或:按位进行或运算(OR),两个位只要有一个为1,那么结果就是1,否则就为0。

按位非:按位进行异或运算(XOR),如果位为0,结果是1,如果位为1,结果是0。

按位异或:按位进行取反运算(NOT),两个操作数的位中,相同则结果为0,不同则结果为1。

移位运算符

移位运算符用来将操作数向某个方向(向左或者右)移动指定的二进制位数。

运算符含义
>>右移运算符 eg:8 >> 1 = 4
<<左移运算符 eg:9 << 2 = 36

三元运算符

三元运算符是类似if...else...这种的操作符。

tex
条件表达式?表达式1:表达式2