问答题
下列程序中,定义了3个变量1,s,b,类型分别为long,short,byte并赋了初始值,分别为-1,1,-1,要求对1做按位左移运算,对s做按位右移运算,对b做无符号按位右移运算,移动的位数均为10位。请将程序补充完整。
程序运行结果如下:
-1024
0
-1
public class ex8_1 {
public static void main(String[]args) {
long 1:-1;
___________;
System.out.println(1);
short s = 1;
___________;
System.out.println(s);
byte b =-1;
__________;
System.out.println(b);
}
}
【正确答案】
【答案解析】1 <<= 10
S >>= 10
b >>>= 10
[解析]
本题主要考查位运算符。解题要点是熟悉左移,右移和无符号右移运算的表达式。本题中,3个空分别对应填上题目要求的运算表达式即可,注意无符号右移运算适合对负数进行右移运算。