在程序設(shè)計(jì)學(xué)習(xí)中,&和&&被解釋為:&&是邏輯操作符,而&是位操作符,但是它們的具體使用上的區(qū)別到底是什么呢?
1、先看看&&,它是我們?cè)诔绦蛟O(shè)計(jì)中經(jīng)常用到的一個(gè)操作符,和||相對(duì)應(yīng),表示boolean的邏輯運(yùn)算,當(dāng)使用&&運(yùn)算符時(shí) 如果第一表達(dá)式為假就不再判斷第二表達(dá)式的真假,直接返回false;
例子:2>1 && 3>2返回true,2<1 && 100/0 == 1返回false;
2、在看看&,它是位運(yùn)算符,什么意思呢,看個(gè)例子:
2&3=2;
具體分析為:
2的二進(jìn)制為10
3的二進(jìn)制為11
邏輯&之后為10;
通過(guò)&運(yùn)算符還能解決一個(gè)問(wèn)題:
現(xiàn)在給你一個(gè)數(shù)字,怎么判斷它是不是2的冪?
(b & (b-1)) == 0 就可以判斷
&運(yùn)算符也可做與運(yùn)算,但是它做與運(yùn)算時(shí)不管第一表達(dá)式成立不成立都會(huì)去運(yùn)算第二表達(dá)式;
例子:
1 > 2 & (5 - 1) > 6返回false;而2<1 & 100/0 == 1會(huì)拋出java.lang.ArithmeticException異常。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)
點(diǎn)擊舉報(bào)。