java期末考试!!求助!!!

来源:百度知道 编辑:UC知道 时间:2024/05/16 01:48:22
1.设x=10,写出表达式运算后x的值:
X-1=X
X-=3
X*=1+2
X%=5

2.设a=6,b=-4,计算下列表达式的值:
--a%++b;
(--a)<<a;
(a<10 && a>10 ? a:b)

最好都写出过程啊!!!

1.
第一种:
当X=10时 X-1=X; 无效表达式
当X=10时 X-=3; 等价于 X=X-3; 运算后x的值:7
当X=10时 X*=1+2; 等价于 X=X*(1+2); 运算后x的值:30
当X=10时 X%=5; 等价于 X=X%5; 运算后x的值:0

第二种:
如果是问 X 经过后三个表达式运算后的值(第一个表达式是错的):
X=X-3; 此时 X=7
X=X*(1+2); 此时 X=21
X=X%5; 此时 X=1
最后X为1

2.
当a=6; b=-4;时 --a%++b; 等价于 (a-1)%(b+1); 运算后的值:2

当a=6; b=-4;时 (--a)<<a;; 等价于 (a-1)<<a; 运算后的值:160
位运算
a-1的值为5
5的二进制为 101
5<<5 表示把五的二进制向左移动5位 即101 00 000换十进制为160

当a=6; b=-4;时 (a<10 && a>10 ? a:b); 等价于
如果a小于10 并且 a大于10 表达式的值为a也就是6 否则表达式的值为b 即-4
一个数不可能同时小于10又大于10 所以 表达式的值为b 也就是-4

你的第一个式子:x-1=x 我不懂。。。。

x-=3就是x=x-3就是7;
x*=1+2等同于x=x*(1+2)就是30;
x%=5等同于x=x%5就是0;
第二题:
第一个相当于:(a-1)%(b+1)就是2
第二个等于160 有关二进制了 不好解释
地三个:相当于true&&false=false 那么就取b的值-4

X-1=X错了吧?

1.第一种:
当X=10时 X-1=X; 无效表达式
当X=10时 X-=3; 等价于 X=X-3; 运算后x的值:7
当X=10时 X*=1+2;