java中的运算符包括 ,
算术运算符
+ :可以表示正号和加法两种运算符,也可以表示字符串相加的连接符
- :可以表示负号和减法两种运算符
* / :表示乘,除
++ :自增运算,包括前置和后置两种
-- :自减运算,包括前置和后置两种
%:取余运算,又叫模运算,a%b中,a叫被模数,b叫模数。运算结果的正负取决与被模数的正负,与模数的正负无关。5%(-2)=1; -5%2=-1
赋值运算符:
包括 = *= /= %= -= += >>= <<= >>>= 。在java中,可以int x,y,z;x=y=z=5;这样赋值。需要注意的是第一个不会进行强制类型转换,而后五个自动进行强制类型转换。
class test { public static void main(String [] args) { short a = 1; short b = 2; a = a+b;//编译错误,int转short时可能会发生精度丢失 a+=b;//编译通过 } }
比较运算符,运算结果只有两种,true或false,
==
!=
<
>
<=
>=
instanceof:检查是否为类的对象
逻辑运算符:对boolean进行操作,结果也是一个boolean
& 与 | 或
^异或:两边相同为false,两边不同为true
&& ||:短路与(当左边为false时,右边不参与运算) 短路或()
! 非
位运算符:对二进制位进行操作,
>> 右移n位,则结果/=2的n次幂。原最高位是什么,就补什么。
<< 左移n位,则结果*=2的n次幂。
>>> 无符号右移。无论原最高位是什么,都用0补全。
^异或 一个数异或同一个数两次,结果还是这个数。可以用于加密。
如何快速算出异或结果?-6=^6+1;那么^6为-7.
~按位取反
&: 按位与 当想获取某给定二进制数的特定几位时,可以用1与
|:
运算符的优先级:
1 | . [] () |
2 | ++ -- (数据类型) ! ~ |
3 | * / % |
4 | + - |
5 | >> << >>> |
6 | < > <= >= |
7 | == != |
8 | & |
9 | ^ |
10 | | |
11 | && |
12 | || |
13 | ?: |
在java中,没有逗号运算符(在java中逗号只是一个语法),这是与c语言不同的。