1. 程式人生 > 實用技巧 >邏輯運算子

邏輯運算子

public class Operator001 {
public static void main(String[] args) {
//&&與(and) ||或(or) !非(取反)
boolean a=true;
boolean b=false;
//&& and 與
System.out.println("a && b:"+(a&&b));//輸出 false 兩個變數都為真,結果都為true;一真一假,結果為false;兩假,結果為false.
//|| or 或
System.out.println("a || b:"+(a||b));//輸出 true 其中一個變數為真,結果為true;兩真,結果為true,兩假,結果為false.
//! 取反
System.out.println("a ! b:"+!(a||b));//輸出 false 如果變數為真,則結果變成假
System.out.println("a ! b:"+!(a&&b));//輸出 true如果變數為假,則結果變成真

    //短路運算
    System.out.println("b && a:"+(b&&a));//輸出 false 個變數都為真,結果都為true.b變數為假,所以b後面就不執行了,這就叫短路運算
    //舉例證明短路運算
    int c=6;
    boolean d=(c<4)&&(c++<=6);
    System.out.println("c:"+c);//輸出 6  輸出6證明(c++<6)沒有執行運算
    System.out.println("d:"+d);//輸出 false

    int f=6;
    boolean e=(f>4)&&(f++==6);
    boolean r=(f>4)&&(++f==6);
    //f=f+1在這一行執行運算
    System.out.println("輸出f:"+f);//輸出 8      執行判斷之前不執行f=f+1,執行判斷之後執行f=f+1
    System.out.println("輸出e:"+e);//輸出 true   執行判斷之前不執行f=f+1,執行判斷之後執行f=f+1
    System.out.println("輸出r:"+r);//輸出 false  先執行運算f=f+1,執行運算之後執行判斷
    System.out.println(e+"輸出e:");//輸出 true輸出e: 注意字串順序







}

}