移位运算符----java

来源:互联网 发布:关闭百度搜索合作网络 编辑:程序博客网 时间:2024/05/16 18:15

URshift.java

public class URshift {    public static void main(String args[]) {        int i = -1;        System.out.println(i >>>= 10);        long l = -1;        System.out.println(l >>>= 10);        short s = -1;        System.out.println(s >>>= 10);        byte b = -1;        System.out.println(b >>>= 10);        b = -1;        System.out.println(b >>> 10);    }}/*419430318014398509481983-1-14194303*/

注: >>>= : 无符号右移赋值运算符
如果是byte或者是short值进行这样的一位运算,得到的可能不是正确的结果.它们会先被转换成int类型,再进行右移操作,但是零扩展不会发生,所以在这种情况下会得到-1的结果.

在最后一个移位运算中,移位后的结果并没有赋值给b,而是直接打印出来.

0 0
原创粉丝点击