java中i++与++i是什么意思

inti=3;intcount=(i++)+(i++)+(i++);System.out.println(i);System.out.println(count);int... int i=3;
int count=(i++)+(i++)+(i++);
System.out.println(i);
System.out.println(count);
int j=3;
count=(++j)+(++j)+(++j);
System.out.println(j);
System.out.println(count);
在这个式子里面为什么i的值与j的值相等?
展开
 我来答
永恒扬光6s
2011-08-22 · TA获得超过183个赞
知道小有建树答主
回答量:265
采纳率:0%
帮助的人:145万
展开全部
i++和++i都是对i进行+1的操作,不同的是i++是在i值被使用后才+1而++i是i值在被使用之前就+1;拿你的例子进行说明
先分析count=(i++)+(i++)+(i++);运算是从左向右的,由于i++是在i值被使用后才+1所以第一个括号的(i++)应该为3,但是i的值变成了4,当运算第二个括号(i++)此时i的值是4所以第二个括号的(i++)为4但是此时i的值变成5了,类推第三个括号的(i++)为5但是此时i的值变成了6;也就是说该等式变为count=(3)+(4)+(5)=12此时i的值为6.
在分析int j=3;
count=(++j)+(++j)+(++j); ++j的操作顺序是先将j加1后在进行操作,所以第一个括号(++j)先将j加1此时j变为4,所以括号的值相当于4;第二个括号将j加1后j的值变为5;第三个括号将j加1后j的值变为6所以等式相当于 count=(4)+(5)+(6)此时j的值是6
综上i与j 相当。简单的说i++就是先使用的i的值然后再加1,而++i就是先将i+1,然后使用i改变后的值。
希望你能采纳
chuwu0415
2011-08-22
知道答主
回答量:12
采纳率:0%
帮助的人:2万
展开全部
i++和++i之后,i的值都 进行了+1的操作,但是举个例子:
i=1;
a=i++;
a的值是=1的;这个就叫先引用,后给 i 赋值。
但是:
i=1;
a=++i;
a = 2的。这个就叫先给 i 赋值,在引用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
710435759
2011-08-22 · TA获得超过199个赞
知道答主
回答量:157
采纳率:0%
帮助的人:81.8万
展开全部
i++是先使用后自加1
++i是先自加1后适用

i值变化: 4 => 5 => 6
故print(i)结果为 6
print(count)的结果为12(原因:3+4+5)

j值变化: 4 => 5 => 6
故print(j)结果为 6
print(count)的结果为15(原因:4+5+6)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zshwen555
2011-08-22
知道答主
回答量:23
采纳率:0%
帮助的人:13万
展开全部
i++ 先试用 i 然后再在原来的基础上加1 ,++j 是先在原来的基础上加1,然后再执行运算。所以i和j都在执行完运算时都执行了三次自身相加
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zfntb470mtz
2011-08-23 · TA获得超过304个赞
知道小有建树答主
回答量:836
采纳率:0%
帮助的人:465万
展开全部
//i++和++i是有区别的,
//i++是在一个先使用后加1,即先使用i的值,后让i+1
//++i则是先加1后使用,即先让i+1后再使用i的新值
//还有什么不明白的可以hi我
class ijiajia
{
public static void main(String[] args)
{
System.out.println("Hello World!");
int i=3;
int count=(i++)+(i++)+(i++);//count=3+4+5,不信的话你可以用count=(i++)+(i++);这时会等于7
System.out.println(i);//i=6
System.out.println(count);//count=12
int j=3;
count=(++j)+(++j)+(++j);//count=4+5+6
System.out.println(j);//j=6
System.out.println(count);//count=15
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
弦彧bg
2011-08-29 · TA获得超过204个赞
知道答主
回答量:24
采纳率:0%
帮助的人:6.5万
展开全部
你在打印i或者j之前,都进行了++的操作,所以都等于6了;可能你会疑惑问什么count不相等:这是因为,你可以认为count = i++是先把i的值付给a,然后i++
int count=(i++)+(i++)+(i++);
System.out.println(i);
可以是:
int count = i+ i+i;
i++;
i++;
i++;
System.out.println(i);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式