一、&(與)與&&(短路與)
(1)相同之處:在程序中,當所有表達式的判斷結果為true時,則結果才為真,返回true,否則,只要有其中一個表達式為假,結果都為false。
(2)不同之處:
a.& 當前面的表達式為假的時候,程序還是會執行后面的表達式,再得出false結果。
b.&& 當前面的表達式為假時,程序會停止執行后面的表達式,結果仍是false。
例如:
public class HomeWork1{
public static void main(String[] args){
int x=1,y=1;
if(x++==2 && ++y==2){
x=7;
}
System.out.println("x="+x+",y="+y);
}
}
結果為x=2;y=1;
二、|(或)與||(短路或)
(1)相同之處:在程序中,當有其中一個表達式為true時,結果都為true;
(2)不同之處:
a. | 當遇到類型為true的表達式時,程序還會繼續向后走, 最后結果為true。
b. ||當遇到類型為true的表達式時,程序不會向下走,但是最終結果還是true。
例如:
public class HomeWork1{
public static void main(String[] args){
int x=1,y=1;
if(x++==1 || ++y==1){
x=7;
}
System.out.println("x="+x+",y="+y);
}
}
結果為x=7;y=2;