int i=1; int a =i++; int b =++i; System.out.println(a); System.out.println(b); b的输出结果为什么是3
7个回答
展开全部
int i=1; i=1
int a = i++; 等同于int a = i; i =i+1; 所以,i=2
int b = ++i; 等同于i =i+1; int b = i; 所以,b = i = 3;
int a = i++; 等同于int a = i; i =i+1; 所以,i=2
int b = ++i; 等同于i =i+1; int b = i; 所以,b = i = 3;
追问
int i=1; int a=i++;
为什么不是把i的值赋给a后a自加而是i要自加啊 就像 (a=i)++为什么不等同于这个啊
还有为什么a=i执行完后又来个i的自加
而 int b=++i 我知道++i是先加后用 这个差不多还能理解
谢谢了
追答
如果是把i的值赋给a后a自加应该写成:
int i=1;int a=i;a++;
因为在int a=i++;中运算符++是对i起作用的,而不是对a起作用。如果想让a自加,应该用a++。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
i = 1; a = i++ 也是a = 1,i=2; b = ++i;,结果 就是 b = 3, i=3..所以b输出3
i++等价于 i = i+ 1;所以i的值 在++后改变。
i++等价于 i = i+ 1;所以i的值 在++后改变。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a =i++; ..................a=1 i=2
int b =++i;....................b=3 i=3
i++ 是先把结果 即i的值给a 再自加 所以a=1 i=2
++i 是先把i的值给b 再自加 所以b=3 i=3
所以输出结果是 b=3
你想输出什么结果啊?
int b =++i;....................b=3 i=3
i++ 是先把结果 即i的值给a 再自加 所以a=1 i=2
++i 是先把i的值给b 再自加 所以b=3 i=3
所以输出结果是 b=3
你想输出什么结果啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-09
展开全部
int i=1; ------ i=1
int a = i++; ------ 等同于int a = i; i += 1; 所以,i=2
int b = ++i; ------ 等同于i += 1; int b = i; 所以,b = i = 3;
int a = i++; ------ 等同于int a = i; i += 1; 所以,i=2
int b = ++i; ------ 等同于i += 1; int b = i; 所以,b = i = 3;
追问
+= 怎么理解啊 如i+=1
追答
i += 1; 等同于 i = i+1; 即将 i+1 的值赋给 i。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
a=++ 此时给a赋值i的值 1 完成以后做i++ i为2 b=++ 此时i先做++就是自增.然后赋给b为3
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询