(a<10 && a>10 ? a:b)表達式的值為—4
6.指出下面哪些是合法的標識符 (ABE)
A $persons B TwoUsers
C *point D this E _endline
7. 指出下面哪些是將一個十六進制值付給一個long 型變量 (D)
A long number =345L B long number=0345
C long number =0345L D long number=0x345L
8. 下面哪些不是java的原始數(shù)據(jù)類型,(B C)
A short B Bollean C unit D float
9. 下面的哪些聲明是合法的(ADE)
A long l =4990 B int i=4L C float f=1—1 D double d=34.4
E double t=0.9F
10.下面哪些使用”<<”和”>>”操作符的陳述是對的, 說出為什么。 (AC)
A.0000 0100 0000 0000 0000 0000 0000 0000 <<5 gives
1000 0000 0000 0000 0000 0000 0000 0000
B. 0000 0100 0000 0000 0000 0000 0000 0000 <<5 geves
1111 1100 0000 0000 0000 0000 0000 0000
C. 1100 0000 0000 0000 0000 0000 0000 0000 >>5 geves
1111 1110 0000 0000 0000 0000 0000 0000
D. 1100 0000 0000 0000 0000 0000 0000 0000 >>5 geves
0000 0110 0000 0000 0000 0000 0000 0000
解:java 的以為早作福一共有3中, 分別是>>、>>>、<<,執(zhí)行的造作分別是有符號右移,無符號右移,左移,有符號右移的意思是說移入的最高位和元最高符號位相同, 無符號右移是移入位始終補零,左移時最低位始終補零,最高位被舍棄。移位操作符另一個非常值得注意的特點是其右操作數(shù)是去模運算的,意思是說對于一個int型數(shù)據(jù)而言,對它移位32位的結(jié)果是保持不變而不是變成零,即:a>>32的結(jié)果是a 而不是0,同理,對long型數(shù)是對右操作數(shù)取64的模,a >>64 ==a; 還有一點需要注意的事移位操作符(>>>)只對int 型和long 型有效,對byte 或者short 的操作將導致自動類型轉(zhuǎn)換,而且是帶符號的。
AB 選項運算符運算結(jié)果應為向左移5為,故A 結(jié)果正確,B結(jié)果是錯誤的。
CD 選項運算符運算結(jié)果應為有符號右移5位,其最高位和原最高符號位應該相同,故C
結(jié)果正確,D結(jié)果是錯誤的。