码迷,mamicode.com
首页 > 编程语言 > 详细

java中a++和++a在较复杂的运算中分析

时间:2015-06-09 23:47:01      阅读:717      评论:0      收藏:0      [点我收藏+]

标签:++   运算符   java   计算   

关于连加和连减:http://blog.csdn.net/ieayoio/article/details/46431843

下面是一段普遍都了解的代码:

public static void main(String[] args) {
		int a=3;
		System.out.println(a++ +1);//4
		System.out.println(a);//4
		System.out.println(++a +1);//6
	}

a++是先计算再++,而++a相反

技术分享

其实准确的说其实是在每一步上使用我们上面说到的规则,这里a++ + ++a等于8,是因为3+5等于8,第一次遇到a++时a的值为3,但是执行玩之后值就变为了4,又经过了++a的运算就变成了5

可是在看下面的一段程序:

技术分享

因为加好中间有了空格,被理解为了连加,所以现在是3+4等于7


如果上面的理解了,下面一段代码就十分容易:

技术分享


其实就是4+5=9,因为是++a,所以会先++,等到运算到第二个++a时,a已经是4了,所以答案是9

再看一个比较复杂的例子:

技术分享

下面是分析:

技术分享


总结:所以根本还是掌握a++是先参与计算再++,++a是先++再参与计算,只是a的值的变化不是一个公式做完才变化,而是每一步计算之后都有可能变化

由此可见++运算参与到普通的运算里可读性就会变的很差,另外,因为连加的影响,可能一不小心就完全是令一个结果,所以尽量还是不要让++运算参与到太复杂的运算中,完全可以选择替他替代的方式












java中a++和++a在较复杂的运算中分析

标签:++   运算符   java   计算   

原文地址:http://blog.csdn.net/ieayoio/article/details/46432009

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!