1. 程式人生 > >&與&&的區別?|與||的區別?

&與&&的區別?|與||的區別?

java中&與&&的區別及例項

相同點:
&&和&都是表示與的邏輯運算子,其運算結果一致
不同點:
&(邏輯與):當兩邊的表示式都為true的時候,整個運算結果才為true,否則為false。
&&(短路與):當第一個表示式的值為false的時候,則不再計算第二個表示式
注意: &還可以做位運算子,當表示式不是Boolean型別的時候
例項1(&):

public class DuanLuYu {
    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=2
例項2(&&):

public class DuanLuYu {
    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

java中 | 與 || 的區別及例項

相同點:
| 和 || 都是表示或的邏輯運算子,其運算結果一致
不同點:
|(邏輯或):當第一個表示式的值為true的時候,仍然計算第二個表示式。
||(短路或):當第一個表示式的值為true的時候,則不再計算第二個表示式
注意: | 還可以做位運算子,當表示式不是Boolean型別的時候
例項1( | ):

public class
DuanLuHuo { 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
例項1( || ):

public class DuanLuHuo {
    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=1