在JAVA语言中,++在前和++在后有什么区别?
6个回答
展开全部
几乎全部有“++”写法的语言都一样,如果你会C的++是怎么用的,java也是这么用。
a = b++; // ++写在后面,说明前面那个东西前用了,也就是b先赋值给a了,然后b再+1
a = ++b; // ++写在前面,说明++先有效,即b要+1,然后赋值给a
最终效果上是a的值不同,而b的值都做了+1操作,只是先赋值还是先+1的问题。
对于我们常写的for (int i = 0; i < n; i++) {} 这个++写前写后都一样,实际上我们在这里需要的是先+1,再参与后续的操作,但写成++1就有些别扭,至少SUN的源文件中for循环中都是写i++的。
也就是说,++在前在后的影响,只在一条语句中有效,即一个分号“;”中有效。出了这个分号就不好用了。所以for循环的i++怎么写都行,因为这个分号不涉及其它操作,也就无所谓先后了。
a = b++; // ++写在后面,说明前面那个东西前用了,也就是b先赋值给a了,然后b再+1
a = ++b; // ++写在前面,说明++先有效,即b要+1,然后赋值给a
最终效果上是a的值不同,而b的值都做了+1操作,只是先赋值还是先+1的问题。
对于我们常写的for (int i = 0; i < n; i++) {} 这个++写前写后都一样,实际上我们在这里需要的是先+1,再参与后续的操作,但写成++1就有些别扭,至少SUN的源文件中for循环中都是写i++的。
也就是说,++在前在后的影响,只在一条语句中有效,即一个分号“;”中有效。出了这个分号就不好用了。所以for循环的i++怎么写都行,因为这个分号不涉及其它操作,也就无所谓先后了。
展开全部
i++是先赋值再++
++i是先++再赋值
比如:i = 1;j = i++;那么此时的j = 1;i = 2;
i = 1;j = ++i,那么此时的j = 2,i = 2;
++i是先++再赋值
比如:i = 1;j = i++;那么此时的j = 1;i = 2;
i = 1;j = ++i,那么此时的j = 2,i = 2;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在前面是先加再运算,后面是先运算后加
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
++在前面是先计算+1,然后调用.
++在后是先调用,再自运算+1.
++在后是先调用,再自运算+1.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
return ++x ;返回x+1
return x++ ;返回x,再把x的值+1
return x++ ;返回x,再把x的值+1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询