文章轉載自:https://www.cnblogs.com/annofyf/p/9211925.html
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,則不再對運算符右側進行運算,如下代碼:
int a =1,b=1;
if(a++ == 1 || ++b == 2)
System.out.println("true");
System.out.println("a= "+ a + " ,b= " + b);
左側爲true,所以沒有判斷運算符右側語句,輸出結果爲:
true
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);
false輸出結果:
a= 2 ,b= 1