运算符的基础

运算符

一:二元运算符

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        //Ctrl+D:   复制当前行到下一行
        int a=10;
        int b=20;
        int c=25;
        int d=25;
        System.out.println(a+b);
        System.out.println(a-b);
        System.out.println(a*b);
        System.out.println(a/(double)b);
    }
}

二:数据类型自动转换

public class Demo02 {
    public static void main(String[] args) {
        long a=123456789123456L;
        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

    }
}

三:关系运算符

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

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

        //%   取余数
        System.out.println(c%a);            //c/a   21/10 =2余1

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

四:自增自减运算符a++,++a

public class Demo04 {
    public static void main(String[] args) {

        //++   --       自增      自减      一元运算符
        int a=3;

        int b=a++;      //执行完这行代码后,先给b赋值,再自增。
        // a=a+1
        System.out.println(a);
        System.out.println(b);
        //  a++   a=a+1
        int c=++a;      //执行完这行代码前,先自增,再给c赋值


        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);


        for (int i = 0; i <10 ; i++) {
            a+=a;
        }
        System.out.println(a);
    }
}

五:逻辑运算符

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);   //c<4是假,后面就不会执行。在与运算中。
        System.out.println(d);
        System.out.println(c);
    }
}

六:逻辑运算符

public class Demo06 {
    public static void main(String[] args) {
        /*      1为真,0为假
        * 位运算符:& ,|,^ , ~ ,>> ,<< ,>>>(了解!!!)
        * 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

            0000 0000   0
          * 0000 0001   1
          * 0000 0010   2
          * 0000 0011   3
          * 0000 0100   4
          * 0000 1000   8
          * 0001 0000   16
         * */
        System.out.println(2<<3);
    }
}

七:a+=b,a-=b

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);     //如果字符串在前面,在+运算符两侧只要出现String类型,他会把另外操作数,都转换成Sting在进行连接
        System.out.println(a+b+"");     //如果字符串在后面,前面的依旧进行运算。

    }
}

三元运算符

public class Demo08 {
    //三元运算符
    public static void main(String[] args) {
        // x  ?  y  :  z
        //如果x==ture ,则结果为y,否则结果为z
        int score=80;
       String type = score < 60 ? "不及格":"及格";    //必须掌握的。
       System.out.println(type);
    }
}

八:运算符的优先级

posted @ 2024-10-10 20:11  温柔尝尽了嘛  阅读(11)  评论(0)    收藏  举报