黑马程序员技术交流社区

标题: ++a与a++,在公式里,怎么个算法? [打印本页]

作者: 叮当    时间: 2014-9-1 15:52
标题: ++a与a++,在公式里,怎么个算法?
比如 int a=2   
       b=2+a++;
       b=4;
    a不是应该要加1不,那个1呢?
作者: Rainyday    时间: 2014-9-1 16:05
m=a++ 相当于 m=a,a=a+1,m=++a 相当于 a=a+1,m=a 先进行2+a计算 赋值给b,b=3 然后b++, b=4
作者: 范鹏霄    时间: 2014-9-1 18:11
b=2+a++,是2加a然后赋值给b,然后a再加1。如果是++a是a先加1,然后再赋值给b
作者: 王绍明    时间: 2014-9-1 18:44
只要出现a++或++a,a就会+1,
你这里b=2+a++,输出a=2+1=3,b=2+2=4
若b=2+++a结果就是5了 你就记一下+号和a的位置,就不会错了
作者: noiary    时间: 2014-9-1 18:45
本帖最后由 noiary 于 2014-9-1 18:47 编辑
  1. class Demo {

  2.         public static void main(String[] args) {
  3.         
  4.                 int a = 2;
  5.                 int b = 2 + a++;
  6.                
  7.                 System.out.println("b= " + b);
  8.                 System.out.println("a= " + a );
  9.         }
  10. }
复制代码


输出结果:
b= 4
a= 3

请自行理解

作者: 泠风小和    时间: 2014-9-1 18:52
a++是指:先把a放入公式中,等公式运算完后,再把a的值加1。

++a是指:先把a的值加1,再把a放入公式中计算。
作者: 眼瞳╄渲染繁华    时间: 2014-9-1 18:55
a++ 在后:a自增1,a原来的值作为表达式返回值
++a 在前:a自增1,原来a+1的值作为表达式的返回值
--a 在前:a自减1,原来a -1 的值作为表达式的返回值
a-- 在后:a自减1,原来的值作为表达的返回值
作者: ★彬★卍囧神    时间: 2014-9-2 19:31
++在前,先之身加1,在干别人让干的事,      ++在后先干别人让干的事,在自身加+
作者: 陨石    时间: 2014-9-3 00:27
可以先查一下运算符优先级,这样会好理解些。
作者: huangxuanheng    时间: 2014-9-3 05:59
x=a++实际上等效于x=a,a=a+1;如a=3,执行x=a++后,x=3,a=3+1=4;而x=++a,等效于a=a+1,x=a;如a=3,则执行x=++a后,a=3+1=4,x=4
作者: 小月格子猫    时间: 2014-9-4 21:37
1  a++和++a 的共同点 : 都是自增加1
2 不同点 :  体现在运算中,当在一个运算的式子中,如int a=2   ,  b=2+a++;
   这个a++在b的运算中,它是先运算,在自增,也就相当于b = 2+2   ,a = a+1;
    如果是++a则先自增,在运算





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