A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 锦宁 中级黑马   /  2014-7-1 09:28  /  1151 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int i = 3;
  
i=i++;
  
System.out.println("i="+i);

其打印结果为什么是3?能解释一下吗?

6 个回复

倒序浏览
i++和++i 的用法,i++是先运算后加;++i是先加在运算;如果是这样:  int i = 3;    i=++i;    System.out.println("i="+i);结果就不是3了;另运算你从右往左看;
回复 使用道具 举报
首先你应该要理解--------------++i 和  i++  的区别 ..................................
举个例子


因此》》》


不知道能否帮到楼主
回复 使用道具 举报
int a = 3;
b=a++;
运算原理是:
(1)赋值,a=3;
(2)赋值,b=a;
(3)加运算,a=a+1
int a = 3;
b=++a;
运算原理是:
(1)赋值,a=3;
(2)加运算,a=a+1;
(3)赋值,b=a;
回复 使用道具 举报
on-on 发表于 2014-7-1 10:20
int a = 3;
b=a++;
运算原理是:

正解。。
回复 使用道具 举报
张周飞 发表于 2014-7-1 10:05
首先你应该要理解--------------++i 和  i++  的区别 ..................................
举个例子

自加1后,i不是变为4吗?
回复 使用道具 举报
i++是赋值后再加1,所以是3,如果你写成i++;
x=i++;
然后输出x,那就等于4了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马