day08 运算符

运算符

  • Java语言支持如下运算符:

    • 算术运算符:+,-,*,/,%(取余),++,--
    • 赋值运算符:=
    • 关系运算符:>,<,>=,<=,==,!=,instanceof
    • 逻辑运算符:&&,||,!
    • 位运算符:&,|,^,~,>>,<<,>>>(了解!!!)
    • 条件运算符:?:
    • 扩展复制运算符:+=,-=,*=,/=
  • 运算符优先级

1 ()
2 ! +(正) -(负) ++ --
3 * / %
4 +(加) -(减)
5 <= > >=
6 == !=
7 ^
8 &&
9 ||
10 ?:
11 = += -= *= /= %=

例:

package operator;

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        //Ctrl+D:复制当前行到下一行
        int a = 10;
        int b = 20;
        int c = 30;
        int d = 40;

        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);

    }
}

package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a = 1323283984L;
        int b = 123;
        short c = 10;
        byte d = 8;

        System.out.println(a+b+c+d);//long
        System.out.println(b+c+d);//int
        System.out.println(c+d);//int

    }
}

package operator;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确,错误  布尔值

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

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);

        //取余,模运算
        System.out.println(c%a);


    }
}

package operator;

public class Demo04 {
    public static void main(String[] args) {
        //++    --  自增,自减   一元运算符
        int a = 3;
        int b = a++;//先给b赋值,在自增
        //a++   a=a+1

        System.out.println(a);

        int c = ++a;//先自增,再给c赋值
        //++a   a=a+1

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算   2^3 2*2*2=8     很多运算,我们会使用一些工具类来操作!
        double pow = Math.pow(2,3);
        System.out.println(pow);
    }
}

package operator;

//逻辑运算符
public class Demo05 {
    public static void main(String[] args) {
        //与(and) 或(or)   非(取反)
        boolean a = true;
        boolean b = false;

        System.out.println("a && b:"+(a&&b));
        System.out.println("a || b:"+(a||b));
        System.out.println("!(a && b):"+!(a&&b));

        //短路运算
        int c = 5;
        boolean d = (c<4)&&(c++<4);
        System.out.println(c);
        System.out.println(d);

    }
}

package operator;

public class Demo06 {
    public static void main(String[] args) {
        /*
        A = 0011 1100
        B = 0000 1101
        ---------------------------
        A&B 0000 1100
        A|B 0011 1101
        A^B 0011 0001
        ~B  1111 0010

        2*8 = 16    2*2*2*2
        效率极高
        <<  *2
        >>  /2


         */
        System.out.println(1<<4);//0000 0001左移4位等于16
    }
}

package operator;

public class Demo07 {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;

        a += b;//a = a + b
        a -= b;//a = a - b

        System.out.println(a);

        //字符串连接符    +   ,string
        System.out.println(a + b);
        System.out.println("" + a + b);
        System.out.println(a + b+"");
    }
}

package operator;

public class Demo08 {
    public static void main(String[] args) {
        //x ? y : z
        //如果x==true,则结果为y,否则结果为z

        int score = 50;
        String type = score < 60 ? "不及格" : "及格";//必须掌握
        //if
        System.out.println(type);
    }
}

posted @ 2021-03-03 00:02  圈圈子  阅读(47)  评论(0)    收藏  举报