首页 > 代码库 > JAVA位、赋值、条件运算符等

JAVA位、赋值、条件运算符等

public class NewClass {
    public void 位运算符(){
        /*
         * 1 ~ 按位取反 1=~0
         * 2 & 按位与   0&1=0  1&1=1  0&0=0
         * 3 | 按位或   0|1=1  1|1=1  0|0=0
         * 4 ^ 按位异或 0^1=1  1^1=0  0^0=0  1^0=1   相同得0,相异得1
         */ 
         int x=53;
         int r=~x;
         System.out.println("r="+r);    //-54,按位取反加一
         int y=22;   //    10110
         System.out.println("x&y="+(x&y));    //20
         System.out.println("x|y="+(x|y));  //55
         System.out.println("x^y="+(x^y));    //35
         
         /*
         * 移位运算符
         * << 算数左移运算符  每向左移动一位,右边用0补齐,左边多出的位数丢掉
         * >> 算数右移运算符  每向右移动一位,左边用0补齐,右边多出的位数丢掉
         * >>>逻辑右移运算符
         */
         System.out.println("4<<2="+(4<<2));  // 0000 0100(4)左移两位为0001 0000(16)
         System.out.println("4<<3="+(4<<3));  //32
         System.out.println("12>>2="+(12>>2));  //0000 1100(12)右移两位为0000 0011(3)
         System.out.println("-12>>2="+(-12>>2)); //-3
         System.out.println("12>>>2="+(12>>>2));
         System.out.println("-12>>>2="+(-12>>>2));
         
         /*
         *位运算优先级别:  ~  <<  >>  >>>  &  ^
         */
    }
    
    public void priorityOfBitOperator(){
        int a=-67,b=116,c=78;
        //a=10111101,b=01110100,c=01001110
        int d=~a|b&c;
        int e=~c>>2&(a|~b);
        int f=a^b&c;
        System.out.println("d="+d);
        System.out.println("e="+e);
        System.out.println("f"+f);
    }
        
        public void 赋值运算符(){
            //普通赋值运算符
            byte b=123;
            int i=b;
            int a=222;
            int j=i+a;
            //扩展赋值运算符
            //  +=  -=  *=  /=  %=  &=  |=  ^=  >>=  <<=  >>>=
            i+=1;  // i=i+1   124
            i+=100;  //  i=i+100   224
            i-=10;   //  i=i-10    214
            i*=2;   //  i=i*2      428
            System.out.println("i="+i);  //428    
        }
        
     public void 条件运算符(int 成绩){
         //三目运算符   
         //逻辑表达式?表达式1:表达式2
        //int 成绩=0;
         String result;
         result=成绩>=60?"通过":"没有通过";
         System.out.println("成绩:"+result);
     }
            
            
    public static void main(String[] args){
        NewClass oe=new NewClass();
        oe.位运算符();
        oe.priorityOfBitOperator();  //oe.调用方法
        oe.赋值运算符();
        oe.条件运算符(80);
    }
      
}

技术分享

技术分享

JAVA位、赋值、条件运算符等