zoukankan      html  css  js  c++  java
  • 运算符

    位运算符(<<,>>,>>>)

    左移(<<):所输入数的二进制数向左移,然后在转换为十进制数

    class main {
        public static void main(String[] args) {
            int i1=31;
            System.out.println(i1<<3);//248
        }
    }

    注意:移动的位数有限,不能移动到将二进制数1作为第一位,否则转换为十进制数是负数

    class main {
        public static void main(String[] args) {
            int i1=31;
            System.out.println(i1<<28);
        }
    }

    右移(>>,>>>):所输入数的二进制数向右移,然后在转换为十进制数

    >>:有符号右移

    class main {
        public static void main(String[] args) {
            int i1=-31;
            System.out.println(i1>>2);
        }
    }

    >>>:无符号右移

    class main {
        public static void main(String[] args) {
            int i1=-31;
            System.out.println(i1>>>2);
        }
    }

    与运算符(&)

    &与运算符:二进制运算二者均为1则为1,其余为0

    例:12&5

                  0 0 0 0 1 1 0 0    (12)

          &      0 0 0 0 0 1 0 1    (5)

    ——————————————————

                  0 0 0 0 0 1 0 0     (4)

    或运算符(|)

    |或运算符:二进制运算有一个为1其余均为0

    例:12|5

                  0 0 0 0 1 1 0 0    (12)

          |       0 0 0 0 0 1 0 1    (5)

    ——————————————————

                  0 0 0 0 1 1 0 1     (13)

    异或运算符(^)

    ^异或运算符:二进制运算两者不一样取值为1,其余均为0

    例:12^5

                  0 0 0 0 1 1 0 0    (12)

          ^      0 0 0 0 0 1 0 1    (5)

    ——————————————————

                  0 0 0 0 1 0 0 1     (9)

    三元运算符

    格式:(条件表达式)?表达式1:表达式2;

    如果条件表达式为true,运算后结果为表达式1

    如果条件表达式为false,运算后结果为表达式2

    注意:表达式1和表达式2为同种类型

    public class V{
        public static void main(String[] args){
            //方法一
           /int a=3;
            int b=2;
            System.out.println("a:"+a+"b:"+b);
            int c=a;
            a=b;
            b=c;
            System.out.println("a:"+a+"b:"+b);
            //方法二
            int a=3;
            int b=2;
            System.out.println("a:"+a+"b:"+b);
            a=a^b;
            b=a^b;//(a^b)^b==a
            a=a^b;//(a^b)^a==b
            System.out.println("a:"+a+"b:"+b);
                }
            }

    三元运算符与if-else的联系与区别:同在一定程度上可以与if-else相互交换(三元运算符一定可以转化为if-else,反之不一定)

  • 相关阅读:
    排序
    Apache架设Web服务器
    函数调用规范
    linux启动流程
    Make工程管理器
    网络相关知识
    数字电路中的建立时间与保持时间
    面试碰到的技术题
    嵌入式linux的驱动程序
    EF实体中的修改
  • 原文地址:https://www.cnblogs.com/KeepCalmAndNeverSayNever/p/10074118.html
Copyright © 2011-2022 走看看