1.赋值运算符

“=”从右到左赋值。

2.算术运算符

1.”+” 加
2.”-“ 减
3.”*” 乘
4.”/“ 除 5/0 错误 5/0.0正无穷
5.”%” 取模 5%2=1 5.45%2.2=1.05 5%0 错误 5%0.0 NaN
6”++”/“—“ 自加/自减 ++x先加再输出(+在前面),x++先输出再加

3.逻辑运算符

1.”||” 或运算
2.”&&” 逻辑与运算

“&”与”&&”区别:
&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and)。
“|”和”||”的区别:
|会进行左右两个的比较,而||如果能通过一个条件判断则不判断另一个条件。

4.位运算符

1.向右位移(>>):

final int x=5;//0000_0101
int y=x>>1;//0000_0010(2)

2.向左位移(<<):

int z =x<<1;//0000_1010(10)放大两倍
负数:
final byte m=-5;1000_0101(原)1111_1011(补)
byte n=m>>1; 移动后:1111_1101(补) 1000_0011(原)=>-3
总结:正数:x>>n向右移n位,高位补0低位被挤;
负数:x<

3.按位与(&)

对两个数进行操作,然后返回一个新的数,这个数的每个位都需要两个输入数的同一位都为1时才为1

4.按位或(|)

比较两个数,然后返回一个新的数,这个数的每一位设置1的条件是两个输入数的同一位都不为0(即任意一个为1,或都为1)

5.按位异或(^)

比较两个数,然后返回一个数,这个数的每个位设为1的条件是两个输入数的同一位不同,如果相同就设为0。
小技巧:实现数据交换:r=r^s; s=r^s; r=r^s;

6.按位取反(~)

对一个操作数的每一位都取反()包括符号位.

7.无符号右移(>>>)

不论正负,高位一律补0;低位被挤
Java中无<<<运算符

8.特殊赋值运算符

“+=” x+=2 在没有类型提升的情况下<=>x=x+2。
类似的
“* =”
“/=”
“-=”
“>>=”

9.三目运算符

x? “真”:”假”
如果x返回true取真,否则取假。