黑马程序员技术交流社区

标题: a=i++ , a=++i [打印本页]

作者: dengchao    时间: 2014-12-6 17:51
标题: a=i++ , a=++i
这两个代表的含义的区别在哪里
作者: as604049322    时间: 2014-12-6 19:00
前者等价于,a=i;i=i+1;
后者等价于,i=i+1;a=i;
例如在i=6的情况下,a=i++ 的执行结果是a==6,i==7
a=++i 的执行结果是a==7,i==7

作者: rettey    时间: 2014-12-6 19:10
前者先赋值在自增
后者先自增在赋值
作者: 曛丨黯淡浮华    时间: 2014-12-6 19:35
亲 ——  

有个小技巧 , 假设++在左边,那就是先做了+1的运算,再运行其他运算 。

要是++在右边,那就是先做完整个运算,再做+1的运算 ,

有个需要注意的是,无论是先加还是后加,起结果还是+1,

作者: Rdw    时间: 2014-12-6 19:50
i++前者先赋值在进行运算
++i后者先进行运算在赋值

作者: 杨金龙    时间: 2014-12-6 20:15
a=i++ , a=++i

两者关系在于前者是先用后加,后者是先加后用

如果
i=1;
a=i++;   
那么a就是1;
a=++i;
那么a就是2;
作者: 清诗纪事    时间: 2014-12-6 20:21
a=i++是先把i赋值给a,然后i+1
a=++i是i先加1后,再把i的值赋给a
比如:
int i=1,j=1;
int a=i++;
int b=++j;
System.out.println("a="+a+"b="+b);
作者: lonlywalker    时间: 2014-12-6 20:25
前者先把i的值赋给a;然后在i+1;
后者先把i+1 赋给a;然后再加一,

作者: 黄小橙    时间: 2014-12-7 11:45
先后赋值问题。
作者: 大大的心    时间: 2014-12-7 16:38
++  自增
--  自减
int a = 3, b;
b = a++;
先赋值给b,再自增
System.out.println(b);3
System.out.println(a);4
b = ++a;
先自增,再赋值





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