运算符语句

1.运算符的分类

运算符 
算术运算符+ - * / % ++ --
赋值运算符=f\符合符号运算符(+= -= *= /=)
逻辑运算符&& || !
按位运算符| & ^ ~ >> >>> <<
关系运算符>  <  >=  <=  !=  ==

1.1位运算符

 位运算符是对整数数值的二进制表示进行运算

1.1.1按位求反运算符~

正数 ~9:(0 1001——1 1010)符号位取反,末位加1,求反为-10;

负数~(-9)

转二进制:1 1001

计算补码:1 0111(负数补码,按位取反+1)

按位取反:0 1000

转为原码:0 1000(正数的原码是他本身)

求反为:8

 1.1.2位与运算符

参与运算的两个操作数,相应的二进制数进行位与运算。

5&11: (0 0101& 0 1011)——(0 0001),结果为1。

1.1.3位或运算符|

参与运算的两个操作数,相应的二进制数进行位或运算。

5|11:(0 0101| 0 1011)——(0 1111),结果为15。

1.1.4位异或运算^

参与运算的两个操作数,相应的二进制数进行位异或运算,两个位相同为0,相异为1。

5^11:(0 0101^0 1011)——(0 1110),结果为14。

1.1.5保留符号位的右移运算符>>

将一个操作数的各个二进制位全部向右移若干位,这个位数由右操作数来决定,移到右端的操作数被舍弃,左边空出来的位全部用最高位的符号位来填充。

正数右移:5>>1(0 0101)

转为补码:0 0101(正数的补码是它本身)

       右移:0 0010

转为原码:0 0010

 结果为2;

负数右移:-9>>1 (1 1001) 

转为补码:1 0111

       右移:1 1011

转为原码:1 0101

结果为-5。

1.1.6保留符号位的右移运算符>>>

 与>>不同的是,>>>右移后左边空出的位用0填充。5>>>1结果为2。-9>>>1结果为214748343。

总结1.1.5和1.1.6:

正数的保留和不保留符号位的右移和负数的不保留符号位的右移,就是相应的补码移位,在高位补0。

负数的保留符号位右移,高位补1,补码右移,转为原码。

1.1.7左移运算符<<。

将一个操作数的所有二进制相左移动若干位,右边空出的位置补0,若高位左移后溢出,则舍弃溢出的数。

5<<1:(0 0101)

右移:0 1010

结果为10。

2.运算符的优先级

优先级运算符简介结合性
1【】、、、()方法调用,属性获取从左向右
2   | 、~、++、--一元运算符从左向右
3   *、/、%乘、除、取余从左向右
4  +、-加减从左向右
5 <<、>>、>>>左移位、右移位、无符号右移从左向右
6

<、<=、>、>=、instanceof

小于、小于等于、大于、大于等于、对象类型判断是否属于同一类型从左向右
7==、!=两个值是否相等、两个值是否不等于从左向右
8&按位与从左向右
9^按位异或从左向右
10|按位或从左向右
11&&短路与从左向右
12||短路或从左向右
13?条件运算符从左向右
14=、+=、-=、*=、/=、%=、&=、|=、^=、<、<=、>、>=、>>=混合赋值运算符从左向右 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值