java运算符试题,编程语⾔⾯试题之新版javase基础语法篇之运算符
簡介:?試中 短路運(yùn)算符 和 位運(yùn)算考點(diǎn):計(jì)算機(jī)基礎(chǔ)運(yùn)算知識
難度【** *】
你知道 運(yùn)算符 &和&&、|和||的區(qū)別嗎?
```
& 按位與操作
只有對應(yīng)的兩個(gè)?進(jìn)制數(shù)為1時(shí),結(jié)果位才為1
1&1 = 1
1&0 = 0
0&1 = 0
0&0 = 0
| 按位或操作
有?個(gè)為1的時(shí)候,結(jié)果位就為1
1|1 = 1
1|0 = 1
0|1 = 1
0|0 = 0
```
```
& 和 && 都可以實(shí)現(xiàn) 和 這個(gè)功能
區(qū)別:& 兩邊都運(yùn)算,? && 先算 && 左側(cè),若左側(cè)為false 那么右側(cè)就不運(yùn)算,判斷語句中
推薦使? &&,效率更?
| 和 || 和上?類似
區(qū)別:||只要滿?第?個(gè)條件,后?的條件就不再判斷,?|要對所有的條件進(jìn)?判斷
把&&和||稱之為短路運(yùn)算符
```
?最有效率的?法計(jì)算2乘以8
```
原理:將?個(gè)數(shù)左移n位,相當(dāng)于乘以2的n次?,位運(yùn)算是CPU直接?持的,所以效率?
答案:2<<3
常?的JDK源碼??HashMap的默認(rèn)容量16
int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16
直接是?進(jìn)制操作了,表示1左移4位,變成10000,轉(zhuǎn)為10進(jìn)制也就是16, 直接以?進(jìn)制形式去運(yùn)?,
效率更?
```
簡介:講解異或運(yùn)算在?試中的考查點(diǎn)和分析
考點(diǎn):計(jì)算機(jī)基礎(chǔ)運(yùn)算知識
難度【***】
寫個(gè)?法,傳遞兩個(gè)?0的int數(shù)值進(jìn)去,實(shí)現(xiàn)變量交換的?式,有?種?式?
?式?
```
public static void swap(int a, int b){
System.out.printf("a=%d, b=%d",a,b);
a = a + b;
b = a - b ;
a = a - b;
System.out.printf("\na=%d, b=%d",a,b);
}
```
?式? 異或運(yùn)算 (?個(gè)數(shù)與另?個(gè)數(shù)異或兩次是其本身, ?個(gè)數(shù)和?身異或結(jié)果是0 )
```
public static void swap2(int a, int b){
System.out.printf("a=%d, b=%d",a,b);
a = a^b; // a1 = a^b
b = b^a; // b = b^a^b
a = a^b; // a = a1^b = a^b^a
System.out.printf("\na=%d, b=%d",a,b);
}
解釋:
a1=a^b
b=b^a1=b^a^b=a
//此時(shí)a1=a^b b=a
a=a1^b=a^b^a=b
```
總結(jié)
以上是生活随笔為你收集整理的java运算符试题,编程语⾔⾯试题之新版javase基础语法篇之运算符的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 模拟qq空间登陆_java最新
- 下一篇: 测试机器大小端的方法