Java邏輯運(yùn)算有&&来候,| |和& ,|兩組卸例。&&和||是短路邏輯運(yùn)算好乐,只要左操作數(shù)計(jì)算結(jié)果結(jié)果已滿足不再計(jì)算右操作數(shù),而&和|則不管左是否滿足都會(huì)計(jì)算右操作數(shù)傲武。
&&和&運(yùn)算符規(guī)則:
左右操作數(shù)都為真蓉驹,結(jié)果為真,否則為假揪利。
||和|運(yùn)算符規(guī)則 :
左右操作數(shù)都為假,結(jié)果為假狠持,否則為真疟位。
示例1:&&運(yùn)算符
publicclassDemo1 {
publicstaticvoidmain(String[]args) {
inta=1;
intb=2;
booleanresult=a>b&&++b>3;
System.out.println("a="+a+",b="+b+",result="+result);
}
}
執(zhí)行的結(jié)果如下圖所示:
說明:
result變量直接為&&的左操作a>b的計(jì)算結(jié)果false,程序不再計(jì)算右操作數(shù)++b>3喘垂,故變量b仍為2;
示例2:&運(yùn)算符
publicclassDemo1 {
publicstaticvoidmain(String[]args) {
inta=1;
intb=2;
booleanresult=a>b&++b>3;
System.out.println("a="+a+",b="+b+",result="+result);
}
}
執(zhí)行的結(jié)果如下圖所示:
說明
&的左操作a>b的計(jì)算結(jié)果已經(jīng)false甜刻,但程序依然計(jì)算右操作數(shù)++b>3,故變量b值結(jié)過++計(jì)算后為3正勒。