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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dwy_hm 中级黑马   /  2014-12-17 11:09  /  1097 人查看  /  10 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

int i=0
i=i++

结果是i=0
那么i自增的东西去哪了呢?

10 个回复

倒序浏览
i++是先赋值给i再进行自增。
回复 使用道具 举报
也就是说,i先把0付给了左边的i,然后i自己又加了1变成1. 你还不如把左边的i定义为c这样看着顺眼。
回复 使用道具 举报
int i=0; c = i++; i把0赋给c此时c=0,然后i自增变为1此时i=1.
回复 使用道具 举报
看看这个吧
class jj
{
        public static void main(String[] args)
        {
                int i=0;
                int c = i++;
                System.out.println(c);
                System.out.println(i);
        }
}

捕获.PNG (13.36 KB, 下载次数: 9)

捕获.PNG

评分

参与人数 1黑马币 +2 收起 理由
杨佳名 + 2

查看全部评分

回复 使用道具 举报
孟子飞宏 发表于 2014-12-17 11:21
看看这个吧
class jj
{

我是说i++去哪了
回复 使用道具 举报
dwy_hm 中级黑马 2014-12-17 11:27:23
7#
自增的值i=i+1 去哪了?
回复 使用道具 举报
dwy_hm 发表于 2014-12-17 11:25
我是说i++去哪了

i++也就是i=i+1;i自己吧值赋给c 他自己作完自增就在内存里存着吧。
回复 使用道具 举报
++在后面 i就会先把0赋值给i 之后才进行++动作。所以打出来的就是0了
回复 使用道具 举报
i++是先赋值在给自己叠加的

你问i++去哪了?它还是在那啊!只不过它等你赋值完再出来而已,你要想知道i++去哪,可以用

for(int i=0;i<5;i++)
{
//第一次i是0,然后i++后就是1,但它是在第二轮循环中才出来的,因为先赋值再叠加
System.out.println(i);
}
回复 使用道具 举报
int i=0;
i=(i++)+(++i);       
System.out.println(i);

你发现了什么了吗?
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马