2017年計(jì)算機(jī)二級(jí)考試java章節(jié)輔導(dǎo):布爾邏輯運(yùn)算符

字號(hào):


    § 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)算 。