问题 单项选择题

下列程序的输出结果是( )。
classTest
publicstaticvoidmain(Stringargs[])
intn=7;
n<<=3;
n=n&n+1|n+2^n+3;
n>>=2;
System.out.println(n);

A.0

B.-1

C.14

D.64

答案

参考答案:C

解析: 本题考查Java中的运算符。首先要清楚程序里面涉及的运算符的含义。“<<”是按位左移运算符,“&”是按位与运算符,“|”是按位或运算符,“^”是按位异或运算符。题口中整型变量n=7相当于二进制中的111,n<<=3语句执行后,n值为111000,相当于十进制的56,而语句n=n&n+1|n+2^n+3执行后,n值为57,n>>=2语句执行后,n的值为14,所以选项C正确。

选择题
单项选择题