5-基本运算符

  • 算数运算符 + - * / % ++ --
  • 赋值运算符 =
  • 关系运算符 > < >= <= == != instanceof
  • 逻辑 && || !
  • 位 & | ^ ~ >> <<
  • 条件 ? :
  • 拓展 += -= *= /=
        long a = 123123123123L;
        int b = 123;
        short c = 10;
        byte d = 8;

        //有一个数类型为long则结果是long类型,若没有long类型则结果都为int(short+byte也为int),若有一个数是double则结果为double
        System.out.println(a + b + c + d);//long
        System.out.println(b + c + d);//int
        System.out.println(c + d);//int

        //关系运算符范围的结果: true、false  布尔值

        int a = 10;
        int b = 20;
        int c = 21;

        System.out.println(a > b);//false
        System.out.println(a < b);
        System.out.println(a == b);
        System.out.println(a != b);
        //取余,模运算
        System.out.println(c % a);//  c/a  21/10 = 2...1


        //++  --  自增,自减    一元运算符
        int a = 3;
        int b = a++;//a = a+1; 执行完这行代码后,a再自增

        System.out.println(a);//a == 4;

        int c = ++a;// 执行这行代码前,a先自增

        System.out.println(a);

        //幂运算 2^3 2*2*2=8  很多运算,我们会使用一些工具类来操作!
        double pow = Math.pow(2, 3);//使用Math工具类  用ALt+Enter 引入局部变量拿到这个返回值
        System.out.println(pow);



        //逻辑运算符
        //与(and)    或(or)    非(取反)
        boolean a = false;
        boolean b = true;

        System.out.println(a && b);//与:两个都为真才会真
        System.out.println(a || b);//或:有一个真结果为真
        System.out.println(!a);//真变假,假变真

        //短路运算
        int c = 5;
        boolean d= (c<4)&&(c++<4);
        System.out.println(d);//false 且c是5,由于短路,c++<4不执行
        System.out.println(c);//输出5

        /*
        A = 0011 1100
        B = 0000 1101

        A&B=0000 1100//与:相同取1
        A|B=0011 1101//或:有1则1
        A^B=0011 0001//异或:不一样为1,一样会0
        ~B =1111 0010//取反

        //位运算效率极高!
        2*8 = 16  2*2*2*2
        <<左移: *2    //左移乘以2
        >>右移: /2    //右移除以2

        0000 0000      0
        0000 0001      1
        0000 0010      2
        0000 0100      4
        则2*8只需要(2<<3)就为16
         */
        System.out.println(2 << 3);

        //字符串链接 在+两侧只要出现String类型,则会把+后面一侧的结果转换为String再进行链接
        System.out.println("" + a + b);//结果为1020 因为""是一个空字符串且在前面,所以会与后面进行拼接 10与20拼
        System.out.println(a + b + "");//结果为30 因为“”在后面,前面依旧进行运算。
        System.out.println(a + b + "" + a + b);//结果为301020;""前a+b正常运算,""后面进行拼接


        //三元运算符
        // x ? y : z    如果x==true,结果为y,否则为z
        int score = 80;
        String type = score < 60 ? "不及格" : "及格";
        System.out.println(type); //输出不及格
posted @ 2024-06-21 16:35  呆头尖瓜  阅读(2)  评论(0编辑  收藏  举报