A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 会说话的木头 中级黑马   /  2014-3-6 15:41  /  910 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如题!这是一种什么用法?

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

5 个回复

倒序浏览
z=(x+y)>>1  要看运算符的优先级。()大于>>大于=,相当于x+y的值右移一位,然后赋值给z
回复 使用道具 举报
它的意思是把 x+y的值算出来以后,然后右移一位 ,最后赋给z, >> 是二进制里面的右移的运算符,这就相当于计算把x+y的值转成二进制后右移一位,根据二进制的运算方法,例如11111111,右移一位就会变成01111111,左侧补零,这个在老师那个视频里有讲的,是在进制转换那儿

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
其实z的值就是将x与y的和往右移两位,高位用0补充。右移的操作是/2的倍数。即右移一位/2,右移2位/4,你可以多看一下毕老师的java基础的视频。

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 12560zhang 于 2014-3-6 18:47 编辑

这个主要考查的是运算符的优先级F:\JAVA\java pic\运算符\运算符的优先级和结合型.png

运算符的优先级和结合型.png (42.12 KB, 下载次数: 5)

运算符的优先级和结合型.png

评分

参与人数 1技术分 +1 收起 理由
何伟超 + 1

查看全部评分

回复 使用道具 举报
你必须先知道上述表达式中的运算符的优先级,()的优先级最高,>>其次,=最低,那么就很好解释了,先算出x=y的值并将其值右移一位,就是对应的二进制右移一位,再把所得到的值赋给z
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马