邏輯運算子
阿新 • • 發佈:2020-08-19
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: 注意字串順序 }
}