黑马程序员技术交流社区

标题: ++前和++后的区别 [打印本页]

作者: Zinmm    时间: 2013-12-1 19:21
标题: ++前和++后的区别
如:++a ,a++
重点是++a,a++可以粗略回答
作者: 25343215    时间: 2013-12-1 19:25
本帖最后由 25343215 于 2013-12-1 19:40 编辑
  1. public class Test {

  2.         public static void main(String[] args) {

  3.                 int a = 1;

  4.                 System.out.println(a++); // 输出1  先执行在+1,结果1
  5.                 System.out.println(a);   // 输出2       结果2
  6.                 System.out.println(++a); // 输出3  先+1在执行   结果3

  7.         }
  8. }
复制代码



作者: Faner    时间: 2013-12-1 19:30
单独++a ,a++  这样写 二者没有区别  ,只有在赋值时才有区别  例如  a=0 ;   t=++a  结果是 a 先自增一 在赋值给t 即结果 a=1 t=1;   而t=a++;   是a先赋值  然后a 在自增一  ,即结果 t=0,a=1
作者: 想你的夜    时间: 2013-12-1 19:54
++a,即为你在对a这个数据做任何操作之前都给它+1,然后再用+1之后的值进行操作;a++为在对数据a操作之后+1。请看代码你自己运行以下就明白了,代码如下:public class Demo {          public static void main(String[] args) {                 // TODO Auto-generated method stub                  int a = 3;                                   int b = 5;                  int c = ++a;                  int d = b++;                                      //++a在赋值之前就+1,所以c=4                 System.out.println("c=" + c);                 //a在给c赋值之后+1了,所以现在a=4                 System.out.println("a=" + a);                 //b在给d赋值之后+1所以d=5                 System.out.println("d=" + d);                 //在给上一步d赋值之后,给b加1了,所以现在b=6                 System.out.println("b=" + b);         }  }
作者: wanghaisheng258    时间: 2013-12-1 21:05
就我了解 ++a,a++的区别就是 ++a是先加一在使用,而a++是先使用后加一!
作者: 影凡    时间: 2013-12-2 00:22
本帖最后由 影凡 于 2013-12-2 00:24 编辑

这个很简单,++a可以简单的理解为a先自加1,再参与运算;a++是a先参与运算后自加1。a++和++a在参加完运算后,a的值由于都加了一次1,所以a的值是一样的,只是在参加运算时有所不同而已。
作者: 枫儿    时间: 2013-12-2 11:20
先自增 和 后自增 的区别!!!
作者: Raymond1011    时间: 2013-12-2 12:35
++a是先曾自身,a++是先运算a的值再进行自增。
作者: yjgoss    时间: 2013-12-2 13:04
本帖最后由 yjgoss 于 2013-12-2 13:05 编辑

      ++a  和a++ 只是在赋值运算的时候才有区别,比如 m=0, n=++m 那么n=1  n=m++那么n=0 但是++a和a++在单独使用的时候是一样的。简单的就是++a先增自己再等于,a++是先等于再自增。
作者: ily521125    时间: 2013-12-2 15:15
本帖最后由 ily521125 于 2013-12-2 15:23 编辑


作者: newspring    时间: 2013-12-2 16:29
++a 是先进行加的操作,然后使用a的时候已经是加过后的值
a++ 是使用的时候先使用加之前的值,使用过后a的值再加1
例如:
a = 1.
b = a++
则输出的b的值就是1,但是a的值现在变为2
但是如果是
b = ++a
则输出的b的值就是2,a的值变为2
作者: 简★零度    时间: 2013-12-5 22:49
下次问题解决了就把类型改成提问结束!谢谢!




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