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

Posted liguangsunls

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中a++和++a在较复杂的运算中分析相关的知识,希望对你有一定的参考价值。

关于连加和连减: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


假设上面的理解了,以下一段代码就十分easy:

技术分享


事实上就是4+5=9,由于是++a。所以会先++,等到运算到第二个++a时。a已经是4了,所以答案是9

再看一个比較复杂的样例:

技术分享

以下是分析:

技术分享


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

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
































以上是关于java中a++和++a在较复杂的运算中分析的主要内容,如果未能解决你的问题,请参考以下文章

在 python 中分析自我和参数?

ASP.NET MVC中分析淘宝网页发生乱码标题搞定方法

在 Javascript 中分析异步函数

如何在 Java Mission Control 中分析异常?

在 Android Studio 中分析 Proguard 优化构建的最佳方式?

在 Eclipse 中分析 Java 应用程序? (插件)[关闭]