菜鸟弱智!JAVA里的i++问题!!!

inti=3;intcount=(i++)+(i++)+(i++);输出的结果是6和12inti=3;intcount=(++i)+(++i)+(++i);输出的结果是6... int i=3;
int count=(i++)+(i++)+(i++);

输出的结果是6和12

int i=3;
int count=(++i)+(++i)+(++i);

输出的结果是6和15

我是菜鸟 我是这样理解的 int i=3 就是i等于3
那么请问6是怎么得出来的?
单纯的i++得出多少?
单纯的++i得出多少?

我是菜鸟,以前只有一点点VB基础,刚学JAVA,看了一天视频教程,实在想不通这一步,谢谢大家。
那为什么会有6和12两个结果呢?
我忘记问了.谢谢大家!
展开
 我来答
狠低调的前端
2007-01-25 · 一个技术狠好但为人低调的WEB前端工程师
狠低调的前端
采纳数:878 获赞数:2549

向TA提问 私信TA
展开全部
给你看下这个:
i++是先取出i的值进行计算然后再+1
所以(i++)+(i++)+(i++)的步骤分解是这样的。
首先调用i,得到第一项值为3,然后i再加1。
到了第二项,调用i的值为4了,然后i再加1。
到了第三项,调用i的值为5了,然后i再加1。
这样,i的最后的值就是6了。
而算式的值就是3+4+5=12
而++i正好相反,是先给i加1然后再取i值
所以(++i)+(++i)+(++i)的步骤分解是这样的。
先调用i,然后加上1,得到第一项为4,
到了第二项,再给i加上1,得到第二项为5,
到了第三项,再给i加上1,得到第三项为6。
这样,i的最后的值还是6,
但算式的值,就编程4+5+6=15了。

另外声明一下,我是学C++的。

关于后面您补充的问题:
两个结果,一个是完成计算以后的I的值,另一个是算式COUNT的输出结果。
SkyerTu
2007-01-22 · TA获得超过1823个赞
知道小有建树答主
回答量:552
采纳率:0%
帮助的人:1256万
展开全部
++i 表示先对i加1,然后返回加1后的i的值,
也就是说,i=3, (++i)=4

i++ 是对i加1,然后返回加1前的i的值,
也就是说,i=3, (i++)=3

因此,上面有3个i++,所以,i被加了3次,就是6了。
ok?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
代码工人
2007-01-22 · TA获得超过662个赞
知道小有建树答主
回答量:401
采纳率:0%
帮助的人:373万
展开全部
简单的例子
i=1;
b=i++; //在这次运算中,i先当前值赋给b,然后自加运算;
c=++i; //在这次运算中,i先进行自加运算,然后把i自加后的值赋给c;
其实很简单的,你多想几次,多听几个版本的解释,慢慢就理解了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迈阿吃因在并理1f
2007-01-22 · TA获得超过144个赞
知道小有建树答主
回答量:93
采纳率:0%
帮助的人:0
展开全部
count=(i++)+(i++)+(i++);
i = 3;i = 4;i=5; i = 6;
3+4+5 = 12;

count =(++i)+(++i)+(++i);
i=4; i=5;i=6;
4+5+6 = 15
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式