a++和++a区别啊

还有问下b=a++和b=++a b*a++ b*++a运算顺序

1、a++先用后加,++a先加后用。b=a++;先把a的值赋给b,然后a自增1。b=++a;a先加1,然后把自增后的值赋给b。

2、a++运算优先级要高于算术运算b*a++,b*a , a=a+1。b*++a,a=a+1,b*a。无论是a++还是++a 运算一次后 a的值是一样的,受影响的是赋值对象。

拓展资料:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-07-05

通常说,a++是先取值后运算,++a是先运算后取值。++ 是一个“自增运算符”,自增运算符有两种形式:前缀自增(++a)和后缀自增(a++)。运算符和操作数合起来就是一个表达式(a++、++a都是表达式,a就是操作数)。

拓展资料:

1、每一个表达式本身都有值(和其类型),有的表达式还有“副作用”。比如自增表达式的副作用就是使其操作数自增1。那么自增运算表达式的值是什么呢? a++ 的值就是 a 的值,而 ++a 的值等于 a+1。

2、例如:int a = 100; 最开始时a是100。打印 a++;  这个printf会打印a++的值,注意是a++表达式的值,看前面的讲解,a++的值就是a的值,也就是100。 别忘了这语句结束后a的值就会自增1。打印 ++a;  目前a的值为101。现在要打印++a表达式的值,++a的值就等于a+1,所以会打印出102。 此语句后a=101+1=102。

本回答被网友采纳
第2个回答  2013-01-08
a++;先用后加 ++a;先加后用

b=a++;先把a的值赋给b,然后a自增1.
b=++a;a先加1,然后把自增后的值赋给b.
++运算优先级要高于算术运算
b*a++ b*a , a=a+1
b*++a a=a+1,b*a

无论是a++还是++a 运算一次后 a的值是一样的,受影响的是赋值对象.本回答被提问者和网友采纳
第3个回答  2018-07-09

两者都是自加运算。

区别:

a++是先进行赋值运算,就是b=a,然后a再加1;

++a是先进行自加运算,再进行赋值运算。

例如:

b=3;    a=5;

b=a++;    b=5;

b=++a;    b=6

b*a++=3*5;

b*++a=3*6

拓展资料

自增自减运算符存在于C/C++/C#/Java等高级语言中,它的作用是在运算结束前(前置自增自减运算符)或后(后置自增自减运算符)将变量的值加(或减)一。

相较于这些语言中的+=和-=运算符,自增运算符更加简洁,且可以控制效果作用于运算之前还是之后,具有很大的便利性。

自增运算符 ++ 使操作数的值加1,其操作数必须为可变左值(可简单地理解为变量)。对于自增就是加1这一点,Eric想大家都不会有什么疑问。

++ 可以置于操作数前面,也可以放在后面,如:

++i;
i++ ;
++i表示,i自增1后再参与其它运算;而i++ 则是i参与运算后,i的值再自增1。

自减运算符--与之类似,只不过是变加为减而已,故不重述。

本回答被网友采纳
第4个回答  2008-03-20
你可以这样来想:++a和a++,都是个表达式,最后的结果就取决于是先加,还是后加,如果是先加,那么最后的表达式的结果就是a的值加1,如果是后加的话,则表达式的值就是原来a的值;而无论是先加,还是后加,a的值计算后一定会加1。
比如:
如果a=1,b=a++,运算完b=1,a=2
如果a=1,b=++a,运算完b=2,a=2