(九)java位运算符

    • 位运算符
      • &(与),|(或),^(异或),~(取反),<<(左移),>>(右移),>>>(无符号右移)
            1:为true,0为false;
            System.out.println(9&3);//1   9的二进制为:1001,3的二进制为:0011 ,对应二进制位都为true结果对应的二进制为才为true 结果为 二进制的0001转换为十进制为1;
            System.out.println(6&4);//4
            System.out.println(7&3);//7
     
    按位异或转换成对应的二进制进行比较,如果两个都相同,则对应二进制位为0,如果两个不相同则对应二进制位为1,可用于加密
    按位取反,不用计算,直接+1然后变为负数。
    • 运算符练习
    class  Ysflx
    {
        /*
        *运算符的联系
        */
        public static void main(String[] args)
        {
            //1.最有效率的方式算出2*8等于几?
            System.out.println(2<<3);//16  2的3次方等于8左移三位。
     
            //2.对两个整数变量的值进行互换?
            int a = 5,b = 6,c;
            c = a;
            a = b;
            b = c;
            System.out.println("a=" + a + "\t" + "b=" + b);
     
            //3.三个整数获取,通过条件运算符获取最大值。
            int x = 23,y = 12,z = 56,m,max;
            m = x>y?x:y;
            max = m>z?m:z;
            System.out.println(max);
     
            //4.使用位运算符将十进制转换成十六进制
            int num = 60;
            int n1 = num&15;
            int n2 = num>>>4;
            System.out.print(n2);
            if(n1>9) {
                System.out.println((char)(n1 - 10 + 'a'));
            }
        }
    }
    

      

posted @ 2018-07-12 13:43  狗尾草的博客  阅读(239)  评论(0编辑  收藏  举报