黑马程序员技术交流社区

标题: 关于a++的运算 内存过程 [打印本页]

作者: 上官    时间: 2014-12-9 21:04
标题: 关于a++的运算 内存过程
int a;
a=a++;
System.out.print(a);
求结果  原理图解
作者: zmhlnrs    时间: 2014-12-9 21:26
没有初始化值没有结果
作者: 20140829    时间: 2014-12-10 00:04

  1. int a=1;
  2. a=a++;
  3. System.out.print(a);
复制代码

这样写的吧,a=1
作者: 聪明叉    时间: 2014-12-10 08:27
http://soft.chinabyte.com/database/279/11431779.shtml

善用百度
作者: 任冰冰    时间: 2014-12-10 08:35
没有初始化a
作者: doctorli    时间: 2014-12-10 09:09
首先创建变量a,为a分配内存,a=a++是a自加1之后赋值给a,但是a没有初始化,a最后的值是null.
作者: Gyx    时间: 2014-12-10 09:19
我觉的这样的代码应该是没有结果的,首先没有给  a赋值,虽然后面的a++可以运行,但是没有执行结果
作者: Gyx    时间: 2014-12-10 09:20
我觉的这样的代码应该是没有结果的,首先没有给  a赋值,虽然后面的a++可以运行,但是没有执行结果,即结果为null。
作者: zzy1990    时间: 2014-12-10 09:58
假设
b=0;
a=b++;(b要先把值赋给a,然后b再自增)
那么
a=0,b=1
同理
a=0;
a=a++;
a=0;

如果
b=0;
a=++b;(b要先自增,然后赋值给a)
那么
a=1,b=1
不知道能否满足你的需求,嘿,记得要先初始化值呀,
作者: 曹震国    时间: 2014-12-10 15:53
没初始化值
作者: dengchao    时间: 2014-12-10 16:45
是啊 初始化都没有就输出NULL
作者: cz萑    时间: 2014-12-10 22:52
没有初始化a的值,编译时会报错的
作者: Honelyboy    时间: 2014-12-10 23:03
a没有初始化值,不能进行自增运算。
作者: 擒贼先擒王    时间: 2014-12-10 23:11
好深奥,应该是没意义的吧
作者: -律-    时间: 2014-12-10 23:16
额,初始化是指第一次赋值的意思么,有什么不同?a=1是初始化么
作者: ben_vs_cong    时间: 2014-12-10 23:28
这个有问题,Java中在参与运算之前,变量必须先初始化。
作者: 上官    时间: 2014-12-12 21:51
zzy1990 发表于 2014-12-10 09:58
假设
b=0;
a=b++;(b要先把值赋给a,然后b再自增)

谢谢  已经理解
作者: 上官    时间: 2014-12-12 21:56
ben_vs_cong 发表于 2014-12-10 23:28
这个有问题,Java中在参与运算之前,变量必须先初始化。

谢谢  已经理解了
作者: 沙子    时间: 2014-12-12 22:07
这a都没有初始化如何能够输出a的值,因为不知道它是否是是成员变量,如果是局部变量就没有值了啊。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2