23 下列的Java語言程式執行後之輸出為何?5f17f721ca2e0.jpg
(A)16
(B)20
(C)74
(D)80

答案:登入後查看
統計: A(116), B(110), C(124), D(35), E(0) #2397212

詳解 (共 7 筆)

#5614968

先單看 ( i AND 0x00000001 ),運算元有 0x 為16進位
這段用意是把 i 所有的位元改成 0 除了最後一個(最右邊)看要 & 0或1
 請看 i = 0~4 範例 :
                         
00000000 & 00000001 = 00000000  = false
00000001 & 00000001 = 00000001  = true
00000010 & 00000001 = 00000000  = false
00000011 % 00000001 = 00000001  = true
00000100 & 00000001 = 00000000  = false

這裡不管兩邊用16進位或2進位來比較都不影響理解
 然後題目的 if 判斷是 if((i & 0x00000001) == 0)
所以順序會是相反的
sb 就會變成 =>
This is a testThat is a pencilThis is a testThat is a pencilThis is a test
接著就按照 "s" "t" 來做分割

附上圖參考(有錯誤請指教)
63280b303c9e3.jpg
63280964bd9de.jpg

4
0
#5042419
雖然不知道if(( i & 0x...
(共 242 字,隱藏中)
前往觀看
4
0
#4611783

This is a testThat is a pencilThis is a testThat is a pencilThis is a test

若有錯誤請不吝嗇指教

3
3
#5089166

B1的答案是對的

StringTokenizer(sb.toString(),"ts");

"" 中的ts代表,如果遇到t或是s就將字串切一刀(t 與 s 也隨之去掉)


可以參考: https://www.cnblogs.com/gaopeng527/p/4899237.html


1
0
#4831552

f(( i & 0x00000001) == 0)  我是猜I值轉二進位然後跟0x00000001進行AND

 

0
0
#4831597

雖然不曉得你猜測的是不是對的,但是依照你的說法去測試,結果跟答案是符合的。

0
0
#4769239

請問if(( i & 0x00000001) == 0)是什麼意思?

0
0