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.无符号右移(>>>)
8.特殊赋值运算符
“+=” x+=2 在没有类型提升的情况下<=>x=x+2。
类似的
“* =”
“/=”
“-=”
“>>=”