这个JAVA语句结果为什么是0?a++不会在最后加1吗?JAVA的这类运算顺序与C++不同?

inta=0;a=a+(a++);System.out.println(a);... int a = 0;
a = a + (a++);
System.out.println(a );
展开
 我来答
网上冲浪玩家
2011-04-15 · TA获得超过574个赞
知道小有建树答主
回答量:535
采纳率:100%
帮助的人:342万
展开全部
a++是等于1,但是是在下次出现a的时候a才是1.
a + (a++);这个时候的俩个a都是等于0的,只有在a + (a++);
这条语句之后出现的a才等于1,但是很不幸的是,a = a + (a++);这条语句对a重新赋值了,因为
a + (a++)等于0,所以a就被赋值为0.
fanwanyong
2011-04-15 · 超过15用户采纳过TA的回答
知道答主
回答量:112
采纳率:0%
帮助的人:44.2万
展开全部
a++ 这还是0 虽然a先等于1了 但你又让a=0 加上了(a++)=0 0+0 肯定等于0啊,换成++a
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4f1df3b41
2011-04-15 · TA获得超过1913个赞
知道小有建树答主
回答量:716
采纳率:0%
帮助的人:470万
展开全部
s529586 说的很对
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
天天U96v
2011-04-15 · TA获得超过304个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:159万
展开全部
看运算符的优先级。
java中 优先级是 + ++ =号
不过实际编程时不建议这么写, 太费解。 很少有程序员关注这个问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7e86e9f7b4
2011-04-15 · TA获得超过796个赞
知道小有建树答主
回答量:279
采纳率:0%
帮助的人:197万
展开全部
您好 很显然 输出的结果为0;为什么 往下看:
int a =0;
a = 0 + 0
输出:0

原因是a++ 是后加加 先赋值a=0 然后输出结果 然后再++
这个和js里面一样 假如:
a=a+(++a);
a=0+1;
输出结果就为:1
原因:++a 为前加加 先赋值a=a+1
希望能帮到您!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fengshengli_bd
2011-04-15 · 超过14用户采纳过TA的回答
知道答主
回答量:61
采纳率:0%
帮助的人:19.4万
展开全部
++在前是先运算后使用
++在后是先使用后运算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式