Java五種運算符

五種運算符

算數運算符

  1. +;-;*;/;%
    進行除法運算時應注意口訣(自己瞎想的,不喜勿噴)
    整數相除取商數(/)
    整數相除取餘數(%)
    整數相除只得整
    要得小數必浮點
package Test2;

public class OperatorDemo {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;

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

        //整數相除取商數
        System.out.println(a/b);

        //整數相除取餘數
        System.out.println(a%b);

        //整數相除只得整,要得小數必浮點
        System.out.println(3.0/b);
        System.out.println(a/4.0);
        System.out.println(3.0/4.0);

    }
}
  1. ++;–
    ++在前,先自加一再用
    ++在後,先用再自加一
    –在前,先自減一再用
    –在後,先用再自減一
package Test2;

public class OperatorDome2 {
    public static void main(String[] args) {
        int a = 8;
        int b = ++a;//b=a+1
        System.out.println("b: "+b);

        int d = 8;
        int c = d++;//c=d;d=d+1
        System.out.println("c: "+c);

    }
}

得到b=9;c=8

賦值運算符

  1. =;+=;-=;*=;/=
package Test2;

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

        a += 5;//a=a+5
        System.out.println("a:"+a);

        a -= 5;//a=a-5
        System.out.println("a:"+a);

        a *= 5;//a=a*5
        System.out.println("a:"+a);

        a /=5;//a=a/5
        System.out.println("a:"+a);

        //隱含了強制轉換,“=”右邊默認是int類型
        //相當於 b = (b的類型)(b+1)
        byte b = 1;
        b += 1;
        System.out.println("b:"+b);
    }
}

注意:賦值運算符實際上隱含了強制轉換

關係運算符

  1. ==;!=;>;<;>=;<=(其結果都是boolean類型)
package Test2;

public class OperatorDemo4 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;
        int c = 3;

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

        System.out.println(a!=b);
        System.out.println(a!=c);
        System.out.println("............");

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

        System.out.println(a>=b);
        System.out.println(a>=c);
        System.out.println("............");

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

        System.out.println(a<=b);
        System.out.println(a<=c);
        System.out.println("............");
    }
}

邏輯運算符

  1. &;|;^;!
    有錯(flase)則錯(flase)【&】
    有對(true)則對(true)【|】
    相同則錯(flase)【^】
    不同則對(true)【^】
    對就是錯(flase)【!】
    錯(flase)就是對(true)【!】
package Test2;

public class OperatorDemo5 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;
        int c = 5;

        System.out.println((a>b)&(a>c));//flase & flase
        System.out.println((a<b)&(a>c));//true & flase
        System.out.println((a>b)&(a<c));//flase & true      
        System.out.println((a<b)&(a<c));//true & true
        System.out.println("............");

        System.out.println((a>b)|(a>c));//flase | flase
        System.out.println((a<b)|(a>c));//true | flase
        System.out.println((a>b)|(a<c));//flase | true      
        System.out.println((a<b)|(a<c));//true | true
        System.out.println("............");

        System.out.println((a>b)^(a>c));//flase ^ flase
        System.out.println((a<b)^(a>c));//true ^ flase
        System.out.println((a>b)^(a<c));//flase ^ true      
        System.out.println((a<b)^(a<c));//true ^ true
        System.out.println("............");

        System.out.println(!(a>b));//!flase 
        System.out.println(!!(a>b));//!!flase
        System.out.println("............");
    }
}
  1. &&;||
    &&和&
    相同點:結果一樣
    不同點:&&有短路效果,若左邊爲flase,則右邊不執行
    &無論左邊是true或flase,右邊都會執行

    ||和|
    相同點:結果一樣
    不同點:||有短路效果,若左邊爲true,則右邊不執行
    |無論左邊是true或flase,右邊都會執行

package Test2;

public class OperatorDemo6 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;
        int c = 5;

        System.out.println((a>b)&&(a>c));//flase && flase
        System.out.println((a<b)&&(a>c));//true && flase
        System.out.println((a>b)&&(a<c));//flase && true        
        System.out.println((a<b)&&(a<c));//true && true
        System.out.println("............");

        System.out.println((a>b)||(a>c));//flase || flase
        System.out.println((a<b)||(a>c));//true || flase
        System.out.println((a>b)||(a<c));//flase || true        
        System.out.println((a<b)||(a<c));//true || true
        System.out.println("............");

        //&&與&的區別
        int x = 6;
        int y = 7;
        System.out.println((x++>6)&(y++>7));
        System.out.println("x:"+x);
        System.out.println("y:"+y);

        int x1 = 6;
        int y1 = 7;
        System.out.println((x1++>6)&&(y1++>7));
        System.out.println("x1:"+x1);
        System.out.println("y1:"+y1);
        System.out.println("............");

        //||與|的區別
        int x2 = 6;
        int y2 = 7;
        System.out.println((x2++>=6)|(y2++>=7));
        System.out.println("x2:"+x2);
        System.out.println("y2:"+y2);

        int x3 = 6;
        int y3 = 7;
        System.out.println((x3++>=6)||(y3++>=7));
        System.out.println("x3:"+x3);
        System.out.println("y3:"+y3);
        System.out.println("............");



    }
}

三元運算符

  1. 關係表達式?表達式1:表達式2
    計算關係表達式的值看是true還是flase;
    若是true則表達式1就是結果
    若是flasez則表達式2就是結果
package Test2;

public class OperatorDemo7 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;

        int c = (a>b)?a:b;
        System.out.println("c:"+c);
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章