Java中&、|、&&、||有哪些區(qū)別

這篇文章主要介紹Java中&、|、&&、||有哪些區(qū)別,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

為仁壽等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及仁壽網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都做網(wǎng)站、成都網(wǎng)站制作、仁壽網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

Java的特點(diǎn)有哪些

Java的特點(diǎn)有哪些 1.Java語言作為靜態(tài)面向?qū)ο缶幊陶Z言的代表,實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。 2.Java具有簡單性、面向?qū)ο?、分布式、安全性、平臺獨(dú)立與可移植性、動(dòng)態(tài)性等特點(diǎn)。 3.使用Java可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序等。

Java中&叫做按位與,&&叫做短路與,它們的區(qū)別是:

& 既是位運(yùn)算符又是邏輯運(yùn)算符,&的兩側(cè)可以是int,也可以是boolean表達(dá)式,當(dāng)&兩側(cè)是int時(shí),要先把運(yùn)算符兩側(cè)的數(shù)轉(zhuǎn)化為二進(jìn)制數(shù)再進(jìn)行運(yùn)算,而短路與(&&)的兩側(cè)要求必須是布爾表達(dá)式。舉例如下:

12&5 的值是多少?答:12轉(zhuǎn)成二進(jìn)制數(shù)是1100(前四位省略了),5轉(zhuǎn)成二進(jìn)制數(shù)是0101,則運(yùn)算后的結(jié)果為0100即4 這是兩側(cè)為數(shù)值時(shí);

若 int i = 2,j = 4;則(++i=2)&(j++=4)的結(jié)果為false,其過程是這樣的:先判斷++i=2是否成立,這里當(dāng)然是不成立了(3 == 2),但是程序還會(huì)繼續(xù)判斷下一個(gè)表達(dá)式是否成立,j++=4 ,該表達(dá)式是成立的,但是&運(yùn)算符要求運(yùn)算符兩側(cè)的值都為真,結(jié)果才為真,所以(++i=2)&(j++=4)的結(jié)果為 false 注意 :

&為真的條件是兩側(cè)表達(dá)式都為真,但是即使我們判斷出左側(cè)表達(dá)式的值為false,程序也還是要繼續(xù)執(zhí)行去判斷右側(cè)的表達(dá)式值的真假

若 int i = 2,j = 4;則(++i=2)&&(j++=4)的結(jié)果為false,其過程基本上和上面的是相同的,但是若左側(cè)表達(dá)式的值為false時(shí),程序則不會(huì)繼續(xù)判斷右側(cè)表達(dá)式的真假了,短路與中,短路這個(gè)詞大概也就是這個(gè)意思吧

Java中‘|’與‘||’的區(qū)別

int i=0;
if(3>2 || (i++)>1) i=i+1;
System.out.println(i);

這段程序會(huì)打印出1,而不是打印出2。

因?yàn)樵趇f的條件判斷中,程序先判斷第一個(gè)表達(dá)式3>2是否成立,結(jié)果3>2為真,那么按照邏輯來說,無論后面一個(gè)表達(dá)式(i++)>1是否成立,整個(gè)或表達(dá)式肯定為真,因此程序就不去執(zhí)行判斷后面一個(gè)表達(dá)式即(i++)>1了,所以這里i并沒有自增1。然后程序執(zhí)行到i=i+1,于是i變?yōu)?。最后打印出1。

int i=0;
if(3>2 | (i++)>1) i=i+1;
System.out.println(i);

如果換做這樣寫,那么就是打印出2了,因?yàn)闊o論第一個(gè)條件3>2是否為真,程序都會(huì)去執(zhí)行判斷第二個(gè)條件表達(dá)式,因此i++這個(gè)自增是會(huì)被執(zhí)行的,再加上if內(nèi)的i=i+1,所以最終i=2。

有些人習(xí)慣把||叫做短路或,把&&叫做短路與。&&和&的區(qū)別和||與|的區(qū)別類似,對于&&來說,如果前面的條件表達(dá)式已經(jīng)為假了,整個(gè)條件表達(dá)式肯定為假,就不會(huì)去執(zhí)行判斷后面的條件表達(dá)式。

以上是“Java中&、|、&&、||有哪些區(qū)別”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

標(biāo)題名稱:Java中&、|、&&、||有哪些區(qū)別
鏈接分享:http://muchs.cn/article14/gdcege.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、自適應(yīng)網(wǎng)站服務(wù)器托管、虛擬主機(jī)、搜索引擎優(yōu)化、網(wǎng)站排名

廣告

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

小程序開發(fā)