1.“|”運算符:不論運算符左側為true還是false,右側語句都會進行判斷,下面代碼
int a =1,b=1; if(a++ == 1 | ++b == 2) System.out.println("true"); System.out.println("a= "+ a + " ,b= " + b);
左側為true,右側為true,輸入出結果為:
true
a= 2 ,b= 2
2.“||”運算符:若運算符左邊為true,則不再對運算符右側進行運算,如下代碼:
1 int a =1,b=1; 2 if(a++ == 1 || ++b == 2) 3 System.out.println("true"); 4 System.out.println("a= "+ a + " ,b= " + b);
左側為true,所以沒有判斷運算符右側語句,輸出結果為:
1 true
2 a= 2 ,b= 1
3.&運算符與|運算符類似:不論運算符左側為true還是false,右側語句都會進行判斷:
int a =1,b=1; if(a++ == 2 & ++b == 2) System.out.println(true); else System.out.println(false); System.out.println("a= "+ a + " ,b= " + b);
&運算符左側為false,單依然會運行右側語句輸出為:
false a= 2 ,b= 2
4.“&&”運算符與“||”運算符類似:若運算符左側為false則不再對右側語句進行判斷:
int a =1,b=1; if(a++ == 2 && ++b == 2) System.out.println(true); else System.out.println(false); System.out.println("a= "+ a + " ,b= " + b);
輸出結果:
1 false 2 a= 2 ,b= 1