在程序設(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; 通過&運(yùn)算符還能解決一個(gè)問題: 現(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異常。 |
|