java運算子易錯點總結

weixin_42458708發表於2018-08-29

++

a++ 先使用,後運算(不管a++是否加())

        int a=0;
        int b;
        b=2+(a++);
        System.out.println(b);
        for(int i=0;i<100;i++){
            a++;
        }
        System.out.println(a);
結果:b=2,b=101

加法運算

  • 字元(A,B)參與運算,實際是字元在計算機中儲存的資料值來計算
  • 字串參與運算,做的是字串的拼接,從左到右運算
        int a=10,b=10;
        System.out.println(a+b+"hello"); //結果為20hello
        System.out.println("hello"+a+b); //結果為hello1010

邏輯運算子

  • &與&&區別(最終運算結果相同)
    & 無論左邊真假,右邊都會進行運算
    && 會發生短路,若左邊為真,右邊會參與運算;若左邊為假,右邊不會參與運算
        int a=0;
        int b=0;
        if((a++)==0||(b++)==0){
            System.out.println(a);
            System.out.println(b);
        }
        else{

        }


結果:a=1 ,b=0

除法\

  • 整數相除,只能得到整數,若想得到浮點數,必須有浮點數參與運算

三目運算子

`
max=(a>b)?a:b

  • 能用三目,少用if,else可以簡化程式碼

相關文章