黑马程序员技术交流社区
标题:
我知道结果,但不知道原因。
[打印本页]
作者:
鱼饵
时间:
2015-5-7 21:48
标题:
我知道结果,但不知道原因。
class Demo
{
public static void main(String[] args)
{
int x=1;
x=x++;
System.out.pringln(x);
}
}
这个程序已经简单的不行,我知道结果是1,x=x++; 就是先把1赋值给x,然后在执行x++,此时x是等于2的,我想问问这个2是放在那里呢?
作者:
EnderDBluse
时间:
2015-5-7 21:56
变量都是放在内存中的
作者:
雾以泪聚丶
时间:
2015-5-7 22:05
栈内存吧!有时间再仔细看看内存分布的视频吧!!
作者:
yapo
时间:
2015-5-7 22:15
变量x指向的栈内存中
作者:
大可乐
时间:
2015-5-7 22:24
x=x++是先预算x在自增,如果就有x++,就加完之后在运算
作者:
鱼饵
时间:
2015-5-7 22:31
yapo 发表于 2015-5-7 22:15
变量x指向的栈内存中
我分析的是x在栈中分配到了一块空间,然后把1放进去了,然后2放到那个空间去了。
因为输出的结果是1,就说明1在x的地址空间里面,一个地址空间不至于放俩数吧。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2