Java中的運(yùn)算符有幾類(lèi)-創(chuàng)新互聯(lián)

運(yùn)算符指明對(duì)操作數(shù)的運(yùn)算方式。組成表達(dá)式的Java操作符有很多種。運(yùn)算符按照其要求的操作數(shù)數(shù)目來(lái)分,可以有單目運(yùn)算符、雙目運(yùn)算符和三目運(yùn)算符,它們分別對(duì)應(yīng)于1個(gè)、2個(gè)、3個(gè)操作數(shù)。運(yùn)算符按其功能來(lái)分,有算術(shù)運(yùn)算符、賦值運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符和其他運(yùn)算符。

創(chuàng)新互聯(lián)于2013年成立,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元當(dāng)雄做網(wǎng)站,已為上家服務(wù),為當(dāng)雄各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

比較(關(guān)系)運(yùn)算符,邏輯運(yùn)算符 ,位運(yùn)算符,三元(三目)運(yùn)算符

1)比較(關(guān)系)運(yùn)算符

,<,>=,<=,      ==(使用居多)
運(yùn)算符連接的表達(dá)式無(wú)論是簡(jiǎn)單還是復(fù)雜,結(jié)果最終都是boolean類(lèi)型
舉例:

int a = 10 ;
int b = 20 ;        
boolean result = (a==b) ; //a ≠ b 
System.out.println("輸出結(jié)果為:"+result);//輸出結(jié)果為:false

2)邏輯運(yùn)算符 (開(kāi)發(fā)中使用)
基本邏輯符號(hào)
邏輯單與&
邏輯單或|
邏輯異或^
邏輯非!        
擴(kuò)展的(重點(diǎn))
邏輯雙與&&
邏輯雙或||                
舉例:

//定義三個(gè)變量
int a = 3 ;
int b = 4 ;
int c = 5 ;

//邏輯單與&
System.out.println((a>c)&(b>c)) ;//false & false -->false
System.out.println((a>c)&(b<c)) ;//false & true  -->false
System.out.println((a<c)&(b>c)) ;//true  & false -->false
System.out.println((a<c)&(b<c)) ;//true  & true  -->true

System.out.println("結(jié)論:并列關(guān)系,有false,則false") ;

//邏輯單或|
System.out.println((a>c)|(b>c)) ;//false | false -->false
System.out.println((a>c)|(b<c)) ;//false | true  -->true
System.out.println((a<c)|(b>c)) ;//true  | false -->true
System.out.println((a<c)|(b<c)) ;//true  | true  -->true

System.out.println("結(jié)論:或的關(guān)系,有true,則true (有一個(gè)滿(mǎn)足條件,則成立)") ;

//邏輯異或^
System.out.println((a>c)^(b>c)) ;//false ^ false -->false
System.out.println((a>c)^(b<c)) ;//false ^ true  -->true
System.out.println((a<c)^(b>c)) ;//true  ^ false -->true
System.out.println((a<c)^(b<c)) ;//true  ^ true  -->false

System.out.println("結(jié)論:相同則為false,不同則為true") ;

//邏輯非
System.out.println(!(a>c)) ;     //true
System.out.println(!!(a>c)) ;    //false
System.out.println(!!!(a>c)) ;   //true
System.out.println(!!!!(a>c)) ;  //false
System.out.println("結(jié)論:非true則false,非false,則true,偶數(shù)個(gè)非是它本身!") ;

//使用邏輯雙與來(lái)鏈接這些表達(dá)式
System.out.println((a>c) &&(b>c)) ;//false & false -->false
System.out.println((a>c) &&(b<c)) ;//false & true  -->false
System.out.println((a<c) &&(b>c)) ;//true  & false -->false
System.out.println((a<c) &&(b<c)) ;//true  & true  -->true
System.out.println("結(jié)論與邏輯單與&相同") ;

//邏輯單或|
System.out.println((a>c)||(b>c)) ;//false || false -->false
System.out.println((a>c)||(b<c)) ;//false || true  -->true
System.out.println((a<c)||(b>c)) ;//true  || false -->true
System.out.println((a<c)||(b<c)) ;//true  || true  -->true
System.out.println("結(jié)論與邏輯單或|相同") ;

//定義兩個(gè)變量
int x = 3 ;
int y = 4 ;
//boolean flag = ((++x == 3) & (--y ==4)) ; //true && true -->true
//boolean flag = ((x++ == 3) & (y-- ==4)) ; //true && true -->true
//boolean flag = ((x++ == 3) & (++y ==4)) ; //true && true -->true
//boolean flag = ((x++==3 ) && (y-- ==4) ); //true && true -->true
boolean flag = ((++x==3 ) && (y-- ==4) );   //false 右邊不執(zhí)行

System.out.println("結(jié)論:當(dāng)符號(hào)為&& ,左邊的表達(dá)式位false,右邊不執(zhí)行(短路效果)") ;

int m = 4 ;
int n = 5 ;
//boolean flag2 = ((m++ == 4) | (--n == 5)) ; // true |  false
//boolean flag2 = ((++m == 4) || (--n == 5)) ;//false || false
boolean flag2 = ((m++ == 4) || (--n == 5)) ;//true
System.out.println("結(jié)論:當(dāng)符號(hào)為|| ,左邊表達(dá)式為true,右邊不執(zhí)行(短路效果)") ;

3)位運(yùn)算符:(了解)
位與&,位或|,位異或^, ~數(shù)據(jù)(反碼)
<<(左移動(dòng)),>> 右移,>>> 無(wú)符號(hào)右移  (了解)
舉例:

   位運(yùn)算符:  位與&  位或|   位異或^   ~數(shù)據(jù)(反碼)

    位與& 有0則0
    3&4
    00000000 00000000 00000000 00000011
&   00000000 00000000 00000000 00000100
-------------------------------------------
    00000000 00000000 00000000 00000000
    結(jié)果:0
    結(jié)論:位與運(yùn)算符的特點(diǎn):有0,則0   

    位或| 有1則1
    3|4
    00000000 00000000 00000000 00000011
|   00000000 00000000 00000000 00000100
------------------------------------------
    00000000 00000000 00000000 00000111
    結(jié)果為:7
    位或|運(yùn)算符的特點(diǎn):有1,則1 

    位異或^ 相同則0 不同則1
    3^4
    00000000 00000000 00000000 00000011
^   00000000 00000000 00000000 00000100
------------------------------------------  
    00000000 00000000 00000000 00000111 

    結(jié)果為:7   
    位異或^運(yùn)算符的特點(diǎn):相同則為0,不同則為1

反碼5 求反碼(對(duì)當(dāng)前數(shù)據(jù)的二進(jìn)制數(shù)據(jù)全部按位取反,0變1,1變0)  
    ~5 
    00000000 00000000 00000000 0000101(原碼,反碼,補(bǔ)碼)
    11111111 11111111 11111111 1111010(全部按位取反)(這是補(bǔ)碼)
    11111111 11111111 11111111 1111001(反碼)
    10000000 00000000 00000000 0000110(原碼)
    結(jié)果為:-6

反碼-3  
    ~-3
    10000000 00000000 00000000 000000011(原碼)
    11111111 11111111 11111111 111111100(反碼)
    11111111 11111111 11111111 111111101(補(bǔ)碼)
    00000000 00000000 00000000 000000010(全部取反)
    結(jié)果為:2
    結(jié)論:求反碼(對(duì)當(dāng)前數(shù)據(jù)的二進(jìn)制數(shù)據(jù)全部按位取反,0變1,1變0)   

左移: <<
    3<<3
    00000000    00000000    00000000    00000011
    00000000    00000000    00000000    00011000(左移三位)
                                           16+8=24
    ------------------------------------------------
    -3<<3
    10000000    00000000    00000000    00000011
    11111111    11111111    11111111    11111100(反碼)
    11111111    11111111    11111111    11111101(補(bǔ)碼)    
    11111111    11111111    11111111    11101000(左移三位)(補(bǔ)碼)
    11111111    11111111    11111111    11100111(反碼)
    10000000    00000000    00000000    00011000(原碼)
    結(jié)果:                                 -24

右移: >>
    3>>3
    00000000    00000000    00000000    00000011
    00000000    00000000    00000000    00000000(右移三位)

無(wú)符號(hào)右移>>>
    20>>>2
    00000000    00000000    00000000    00010100
    00000000    00000000    00000000    00000101(無(wú)符號(hào)右移兩位,最高位都補(bǔ)0)
    結(jié)果:                                     5

4)三元(三目)運(yùn)算符:  

固定格式:(表達(dá)式)?(表達(dá)式1):(表達(dá)式2)
執(zhí)行流程:   判斷表達(dá)式的結(jié)果,
                結(jié)果為true->執(zhí)行表達(dá)式1的結(jié)果,
                結(jié)果為false->執(zhí)行表達(dá)式2的結(jié)果。
int a = 10;
int b = 20;
boolean res = (a>b)?true:false;//結(jié)果是:false;

創(chuàng)新互聯(lián)www.cdcxhl.cn,專(zhuān)業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開(kāi)啟,新人活動(dòng)云服務(wù)器買(mǎi)多久送多久。

網(wǎng)站名稱(chēng):Java中的運(yùn)算符有幾類(lèi)-創(chuàng)新互聯(lián)
瀏覽路徑:http://muchs.cn/article10/cddjgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄品牌網(wǎng)站建設(shè)、建站公司網(wǎng)站導(dǎo)航、商城網(wǎng)站、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)