算术运算符:
+,-,*,/,%,++,--
这里有几个小白容易忽视的点:
1)比如 int i=5;int j=2; i/j的结果为2
2)重点说一下 ++ (--和++用法一致)
比如 i++; ++i
在单独使用时其实没什么区别 比如i=0, i++和++i的结果都为1
区别在于参与运算的时候:
int i=0;
int a=i++ ; //a=0 i=1
这种情况的话 i是先将0赋值给a,然后再加1
int i=0;
int a=++i ; //a=1 i=1
这种情况的话i是先自身加1,然后赋值给a
赋值运算符:
=,+=,-=,*=,/=,%=
=就不用多介绍了, a+=b相当于a=a+b(其余几个用法和+=雷同)
重点在于+=,-=,*=,/=,%=自带强制转换类型
例如:
byte b=1;
b=b+1 这样的话就会出现编译报错,但是使用b+=1的话就不会出现编译报错了
逻辑运算符:
逻辑运算符包含:&,|,^,!,&&,||
& 和 &&:
这两个逻辑运算符都是两边为true时结果为true,区别在于&&左边为false便不会再执行右边
而&即使左边为false,右边同样会执行
| 和||:
这两个逻辑符号左右两边只要有一个true结果就为true,区别在于||只要左边为true就不会再去判断右边,而|即使左边为true也会去对右边进行判断
^:
异或的话两边都是true 或者 false的情况结果为false,其余情况为true
!:
true变false,false变true
位运算符:
&,|,^,~,>>,<<,>>>
&(与):两边为1结果相加为1,其余情况为0
|(或):只要有一个为1,相加结果为1,其余情况为0
^(异或):两边同为1或者同为0的时候相加为0,其余情况为1
~(按位取反):1变0,0变1
>>(右位移):将补码进行右移,溢出部分舍去,空闲部分如果是正数的话补0 负数补1
<< (左位移):将补码往左移动,溢出部分舍弃,空闲部分补0
>>>(无符号右移):和右位移差不多,位移不同的就是不论是正数还是负数对空闲位补0