赞
踩
笔者最近因为工作需要,自学java,对于学习资料、百度搜索里也讲得不够清晰、完善之处,通过自己编写程序、测试,加深了理解。以下是我猜想java中自加(++)自减(–)运算符对应的等价代码并进行测试的过程:
首先,用文本编辑器UltraEdit编写程序Test.java:
但是,在命令窗口中编译之后,居然报了好多令我当时不知所云的错:
咨询了别人后才发现,原来是因为忘记写程序入口(main方法),以及变量i前忘记加数据类型int导致的……果然太久不写了好容易犯糊涂啊……T T
修改代码如下:
编译运行后,控制台上输出的结果,和预期相同(数组中索引为3的元素’o’被替换成了’p’)。
修改如上代码8-9行:
再编译运行,控制台上输出的结果,和修改前的相同:
同理,重新编写程序,先注释掉第11行:
再注释掉第8,9行:
以上两段程序的输出结果也是相同的,如下图所示,这次是数组中索引为2的元素’a’被替换成了‘p’。(因为自减符"–"在a之前,所以这里变量a先自减1,再使用。)
所以,经测试我们得知,代码
elements[index++] = 'p';
和代码
elements[index] = 'p';
index = index + 1;
在业务逻辑上是等价的。
同理,代码
elements[--index] = 'p';
和代码
index = index - 1;
elements[index] = 'p';
在业务逻辑上也是等价的。
希望对初学java的同学有所帮助~~ 在实在捋不清带++和–运算符的代码语句时,可以按如上方法把它替换成两行代码语句去阅读。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。