日期:2014-05-20  浏览次数:20624 次

请教一个java运算符的问题
各位,
Java code

byte b = -1;
System.out.println(b>>>=10);


这段代码的输出为 -1
为什么是-1呢。。b>>>=10这个表达式含义是啥意思

------解决方案--------------------
优先级 ,先直接输出了b的值,然后在做的b>>>10运算。
------解决方案--------------------
知道自增运算符么?
b+=1;
也即相当于:
b = (byte) (b+1);


你这个是 自右移运算符:
b>>>=10
也即相当于:
b = (byte) (b>>>10);

------解决方案--------------------
对,移位运算。
这里很详细,参考学习下吧
http://biostar.blog.sohu.com/29997061.html