§ 3.3布爾邏輯運(yùn)算符
布爾邏輯運(yùn)算符進(jìn)行布爾邏輯運(yùn)算,如下表所示 :
op1 op2 op1&&op2 op1||op2 !op1
false false false false true
false true false true true
true false false true false
true true true true false
}@@@
•&&、‖ 為二元運(yùn)算符,實(shí)現(xiàn)邏輯與、邏輯或。
•! 為一元運(yùn)算符,實(shí)現(xiàn)邏輯非。
•對(duì)于布爾邏輯運(yùn)算,先求出運(yùn)算符左邊的表達(dá)式的值,對(duì)或運(yùn)算如果為true,則整個(gè)表達(dá)式的結(jié)果為true,不必對(duì)運(yùn)算符右邊的表達(dá)式再進(jìn)行運(yùn)算;同樣,對(duì)與運(yùn)算,如果左邊表達(dá)式的值為false,則不必對(duì)右邊的表達(dá)式求值,整個(gè)表達(dá)式的結(jié)果為false。 下面的例子說(shuō)明了關(guān)系運(yùn)算符和布爾邏輯運(yùn)算符的使用。
@@@[
public class RelationAndConditionOp{
public static void main( String args[] ){
int a=25,b=3;
boolean d=a<b; //d=false
System.out.println("a<b = "+d);
int e=3;
if(e!=0 && a/e>5)
System.out.println("a/e = "+a/e);
int f=0;
if(f!=0 && a/f>5)
System.out.println("a/f = "+a/f);
else
System.out.println("f = "+f);
}
}
其運(yùn)行結(jié)果為:
C:\>java RelationAndConditionOp
a<b = false
a/e = 8
f = 0
注意 :上例中 ,第二個(gè)if語(yǔ)句在運(yùn)行時(shí)不會(huì)發(fā)生除0溢出的錯(cuò)誤,因?yàn)閑!=0為false,所以就不需要對(duì) a/e進(jìn)行運(yùn)算 。