对于Java来说,运算符有:算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符等。运算符是一种符号,当连接不同的操作数的时候,会实现特殊的功能。
- 算术运算符
Java中的算术运算符有:
+:加法运算,对两个数值类型的数进行相加。
-:减法运算,两个数值类型的数进行相减。
*:乘法运算,两个数值类型的数进行相乘。
/:除法运算,两个数值类型的数进行相除。
%:求余运算,两个数值类型的数进行求余。
++:表示自增,分为前++(++i)和后++(i++)。需要说明一点的是,自增只适用于数值类型的变量。
--:表示自减,与自增类型,也分为前--(--i)和后--(--i)。同理,自减也只适用于数值类型的变量。
- 赋值运算符
赋值运算符就只有一个“=”。在Java中,一个“=”表示赋值,如果需要表示等于的含义,需要用两个等号,也就是“==”。当然,有时候赋值运算符会和别的运算符进行组合,形成增强的赋值运算符,比如:“+=”等等。
- 逻辑运算符
逻辑运算符是用来连接两个布尔类型的操作数。逻辑运算符有:
&&:与,前后两个操作数必修都为true,结果才为true。
&:非短路与,作用与&&类似,只不过当第一个操作数的结果为false时,此时整个表达式的结果就已经确定为false,所以第二个操作数不会进行判断。
||:或,两个操作数中至少有一个为true时,结果就为true。
|:非短路或,作用与||类似,当第一个操作数的结果为true,就已经可以确定整个表达式结果为true,所以不会对第二个操作数进行判断。
!:非,只需要一个操作数,若该操作数结果为true,则非之后结果为false。若该操作数结果为false,则非之后结果为true。
^:异或,前后两个操作数不相同时结果为true,相同时结果为false。
- 比较运算符
比较运算符是用来你对两个常量或变量进行大小进行比较,结果为true或false。Java中的比较运算符有:
>:大于,只支持数值类型的操作数,若左边的操作数比右边的操作数大,则结果为true。
>=: 大于等于,只支持数值类型的操作数,若左边的操作数与右边的操作数一样或比右边的操作数大,则结果为true。
<:小于,只支持数值类型的操作数,若左边的操作数比右边的操作数小,则结果为true。
<=: 小于等于,只支持数值类型的操作数,若左边的操作数与右边的操作数一样或比右边的操作数小,则结果为true。
==:等于,既支持数值类型的操作数,也支持布尔类型的操作数。如果两个操作数都为引用数据类型,则要求两者之间具有父子关系。对于数值类型而言,当左右两边的操作数的值一样时,即使数据类型不一样,结果也为true。对于布尔类型而言,左右两个的操作数相同时,结果为true。对于引用数据类型,则只有当其引用的是同一个对象时,结果才为true。
- 位运算符
位运算符只要用来对数值类型进行运算。常用的位运算符有:
&:按位与,当对应位都为1时结果为1.
|:按位或,当对应位有一位为1时结果为1.
~:按位取反。将每一位进行取反。若对应位为1,取反后结果为0。若对应位为0,取反后结果为1。
^:按位异或。当对应位不相同时,结果为1,反之则为0。
<<:左移运算,将所有位整体向左移动指定位,
>>:右移运算,将所有位整体向右移动指定位,空出位数补符号位。
>>>:无符号右移运算。将所有位整体向右移动指定位,空出位数补0。