Java题:设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是多少?(注:题上没说x,y,z类型)

 我来答
历盆郁7
推荐于2017-09-11 · TA获得超过4277个赞
知道大有可为答主
回答量:1795
采纳率:100%
帮助的人:940万
展开全部
这种题, 出题的人真是差劲,
1.这么复杂的表达式,适合在C语言中出现
2.如果在java中出现,考虑的一般就是int double(转型问题),简单的就行了,需要自增有自检么?
直接 y += z / x 就得了呗....
3.可怜的孩子们,都被这种绕来绕去的题目 转蒙了.

需要考虑的类型无外乎 int double (short, long ,float 不用考虑,这两个足够表示了)
4. 表达式右侧
z--/++x <==> 3 / 2
1) 如果 z ,x 都为 int 结果为 1
2) 如果 z, x有一个为double, 结果为1.5

5. 表达式左侧
最终结果的类型取决于y的类型
1) y 为 int 结果为 2 + (1或者1.5) = 3
2) y 为 double 结果
1)) 右边是1的时候 结果为 2.0 + 1 = 3.0
2)) 右边是1.5的时候 结果为 2.0 + 1.5 = 3.5
匿名用户
2013-01-06
展开全部
按照优先级来分别计算这几个表达式的值,y+=z--/++x
相当于:z-- ; //z 使用 后-1,也就是说用来除的时候z=3
++x; //x 加1 此时x=2
z/x =3/2=1(任何一个为整形), =1.5 全为浮点型
y += z/x ; 即 y+=1(或1.5);
执行完这一句 y=3(3.5);
所以 此时
x=2
y=3(3.5)
z=2
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hdparrot
2013-01-06 · TA获得超过2403个赞
知道小有建树答主
回答量:1385
采纳率:0%
帮助的人:1145万
展开全部
如果是整型变量
表达式的值就是y最后的值。
答案应该是3,需要注意的就是两个整型数相除的时候,结果还是整型,小数部分被截掉了

这样的题说实话,没有太大的意义,真正在做项目写程序的时候,如果用上这样的表达式,估计得被领导开除,哈哈。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
弓蕴6h
2013-01-06 · TA获得超过142个赞
知道答主
回答量:89
采纳率:100%
帮助的人:74.3万
展开全部
这道题主要考你java的8种基本数据类型,
1.byte(字节) 2.shot(短整型) 3.int(整型)4.long(长整型)5.float(浮点型) 6.double(双精度)7.char(字符型) 8.boolean(布尔型)
本人以为这道题主要取决于y的类型,
(1)如果y的类型是byte,shot,int,long,则x=2,y=3,z=2,因为会舍掉小数部分
(2)如果y的类型是float,double,则x=2,y=3.5,z=2,会保留小数部分
(3)如果y的类型是char,则会按照asc码进行输出
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wy0507
2013-01-06 · TA获得超过870个赞
知道小有建树答主
回答量:540
采纳率:0%
帮助的人:366万
展开全部
这x=1,y=2,z=3 ,根本通不过编译,如果勉强说成int x = 1 , y = 2 , z = 3; 这题还有的做,或者double,float都行
int 表达式的值为3
double 3.5
float 3.5
他可能考的就是+=,++,--的问题,看一下算术符优先表,记得++在后面就先算值后加,在前面就先加后计算。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式