運算子的基礎

温柔尝尽了嘛發表於2024-10-10

運算子

一:二元運算子

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

八:運算子的優先順序

相關文章