java计算题,谢谢

inta=8intb=3floatc=(a++)/(b--)为什么c等于2呢?谢谢... int a=8 int b=3 float c=(a++)/(b--) 为什么c等于2呢?谢谢 展开
 我来答
可芹蓟俐
2019-10-07 · TA获得超过1145个赞
知道小有建树答主
回答量:1419
采纳率:100%
帮助的人:6.3万
展开全部
a++是先计算表达的值,然后自增,b--也同样的道理。
那么先计算
8/3
=2
,然后强制类型转换成
float
~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天藏吾原
2020-01-03 · TA获得超过1090个赞
知道小有建树答主
回答量:1457
采纳率:100%
帮助的人:6.5万
展开全部
这题要知道++,--放在后面是怎么操作的,比如这一题,他会先计算a/b,然后再执行a=a+1,
b=b-1
因为a和b都是整数,所以他的默认计算按整数除法计算,所以8/3=2,即c=2,计算后a=9,
b=2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
线旋宫心怡
2019-12-28 · TA获得超过1236个赞
知道小有建树答主
回答量:1410
采纳率:100%
帮助的人:7.6万
展开全部
类似X++的语句是先取原来的值再加的,++X则是先加后在赋值;所以得到c的值是(8/3)的int类型;如果要得到float的值,可以将a强制转换成float类型。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
劳晓於望舒
2020-03-08 · TA获得超过1251个赞
知道小有建树答主
回答量:1440
采纳率:96%
帮助的人:6.4万
展开全部
因为++和--在a和b的后面,所以是先使用a、b的值,然后再对他们进行递增和递减,故进行除法运算的时候a和b的值分别为8和3,又因为a和b都是int类型的数,所以他们之间的除法是“
整除
”,就是他们之间的除法会进行“截余”,把
余数
截掉,所以最后的结果是2。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式