(a<10 && a>10 ? a:b)表達(dá)式的值為—4
6.指出下面哪些是合法的標(biāo)識(shí)符 (ABE)
A $persons B TwoUsers
C *point D this E _endline
7. 指出下面哪些是將一個(gè)十六進(jìn)制值付給一個(gè)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.下面哪些使用”<<”和”>>”操作符的陳述是對(duì)的, 說(shuō)出為什么。 (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í)行的造作分別是有符號(hào)右移,無(wú)符號(hào)右移,左移,有符號(hào)右移的意思是說(shuō)移入的最高位和元最高符號(hào)位相同, 無(wú)符號(hào)右移是移入位始終補(bǔ)零,左移時(shí)最低位始終補(bǔ)零,最高位被舍棄。移位操作符另一個(gè)非常值得注意的特點(diǎn)是其右操作數(shù)是去模運(yùn)算的,意思是說(shuō)對(duì)于一個(gè)int型數(shù)據(jù)而言,對(duì)它移位32位的結(jié)果是保持不變而不是變成零,即:a>>32的結(jié)果是a 而不是0,同理,對(duì)long型數(shù)是對(duì)右操作數(shù)取64的模,a >>64 ==a; 還有一點(diǎn)需要注意的事移位操作符(>>>)只對(duì)int 型和long 型有效,對(duì)byte 或者short 的操作將導(dǎo)致自動(dòng)類型轉(zhuǎn)換,而且是帶符號(hào)的。
AB 選項(xiàng)運(yùn)算符運(yùn)算結(jié)果應(yīng)為向左移5為,故A 結(jié)果正確,B結(jié)果是錯(cuò)誤的。
CD 選項(xiàng)運(yùn)算符運(yùn)算結(jié)果應(yīng)為有符號(hào)右移5位,其最高位和原最高符號(hào)位應(yīng)該相同,故C
結(jié)果正確,D結(jié)果是錯(cuò)誤的。