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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

class Demo
{
        public static void main(String[] args)
        {
                int i=0;
                i =i++;
                System.out.println(i);
        }
}
怎么打印出来结果是 0 尼,我怎么觉得应该是 1 啊

11 个回复

倒序浏览
首先,我是大叔;
其次,你的这个问题,i++,是先把 i 进行赋值,打印出这个值,然后再加1,打印加1之后数值;
如果你想打印结果直接为1 ,那就改为 i = ++i;  这个是先加1 ,再赋值。
回复 使用道具 举报
i++   先用后加
++i   先加后用

你的就是先用 后加的情况
回复 使用道具 举报
i++这里是先赋值再加加
回复 使用道具 举报
i++先赋值再自加。i还等于0;++i先自加再赋值,i=1
回复 使用道具 举报
想输出1的话把i=i++换成i=++i就行了,记住++在前在后的规律就好了。
回复 使用道具 举报
i++是先赋值然后再自加
++i是先自加然后再赋值
回复 使用道具 举报
大家都已经解释的很清楚了,我就不多说了哈
回复 使用道具 举报
你还没看懂i++的真是含义。。。。要加强。i==i++,它的过程是这样的,i=i,
回复 使用道具 举报
   看来你还是没有看懂i=i++;的真是含义,要加强理解,i=i++;其实是i=i;i=i+1;这样两步合走一步完成的
回复 使用道具 举报
大西洋 发表于 2015-5-26 23:36
首先,我是大叔;
其次,你的这个问题,i++,是先把 i 进行赋值,打印出这个值,然后再加1,打印加1之后数 ...

同意楼上
回复 使用道具 举报
改成++i就是1了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马