(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的原始数据类型,(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中, 分别是>>、>>>、<<,执行的造作分别是有符号右移,无符号右移,左移,有符号右移的意思是说移入的最高位和元最高符号位相同, 无符号右移是移入位始终补零,左移时最低位始终补零,最高位被舍弃。移位操作符另一个非常值得注意的特点是其右操作数是去模运算的,意思是说对于一个int型数据而言,对它移位32位的结果是保持不变而不是变成零,即:a>>32的结果是a 而不是0,同理,对long型数是对右操作数取64的模,a >>64 ==a; 还有一点需要注意的事移位操作符(>>>)只对int 型和long 型有效,对byte 或者short 的操作将导致自动类型转换,而且是带符号的。
AB 选项运算符运算结果应为向左移5为,故A 结果正确,B结果是错误的。
CD 选项运算符运算结果应为有符号右移5位,其最高位和原最高符号位应该相同,故C
结果正确,D结果是错误的。