A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© vipzh 中级黑马   /  2012-12-3 09:49  /  1512 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

a++和++a有什么区别啊,可以举例说明吗?

6 个回复

正序浏览
class Print{
       public static void main(String[] args){
           int a = 5 ;         
        System.out.println(a++); //a++是后加,先输出,后加1(a的值变成6),所以打印结果是5。
         System.out.println(++a); //++a是先加,然后输出,所以打印结果是7。
         System.out.println(a--); //--a是后减,也是先输出,然后减1(a的值变为6),所以打印结果是7。
         System.out.println(--a);//--a是先减,所以a先减1,在输出,所以打印结果是5。
     }
}

回复 使用道具 举报
增1减1操作符

    1> 增1减1操作符包括

       ++(前增1,如++i)

       --(前减1,如--i)

       ++(后增1,如i++)

       --(后减1,如i--)

      

       这些操作符作用于变量

    2> 前增1,前减1操作符

       表达式的值就是变量所获得的新值

       例如:

              m = ++k;

       就相当于

              k += 1;

              m=k;



       先增1(减1),后取值

    3> 后增1,后减1操作符

       表达式的值就是变量原来的旧值

       例如:

              m = k--;

       就相当于

              m=k;

              k - = 1;



       先取值,后增1(减1)

回复 使用道具 举报
b=a++;//先将a的值赋给b,a再自加1。
b=++a;//先将a的值自加1,再将新的a值赋给b。
例如:
a = 1;
b=a++;执行完b=1,a=2;
b=++a;执行完b=2,a=2;
回复 使用道具 举报
这是递增操作符的两种形式,前缀和后缀。i++是先用i原来的值,然后使i增1。
++i是先使i先增1。然后使用i的值。
int i = 4;
int j = 4;
System.out.println("i++  is:" + i++);//运行结果是 i++  is:4
System.out.println("j++  is:" + ++j);//运行结果是 j++  is:5

回复 使用道具 举报
int a=3; b=1;
         b=++a;  首先是a=a+1,a=4; 左边 b=4;  最后结果是a=4,b=4;
         b=a++;   右边是:因为a在前,++在后,a要参与++以外的运算,即先是b=a=3,a再++ ,b=3  最后结果是b=3,a=4;
           1.先将a变量中的数据,进行临时存储,
           2.自增运算,
            a=a+1;
            a=4;
           3.将临时存储的a数据的变量赋值给b
             b=temp;
             b=3;
回复 使用道具 举报
  1. package cn.itcast.Test;

  2. public class AddTest {

  3.         /**
  4.          * @param args
  5.          */
  6.         public static void main(String[] args) {
  7.                 // TODO Auto-generated method stub

  8.                 /*a++的意思是先进行处理后,再赋值给a;
  9.                 ++a的意思是先赋值再进行其他处理程序;*/
  10.                 int x;
  11.                 int y;
  12.                 int a=0;
  13.                 x=a++;//先传值给x,然后再自己加上去。所以x=0,a=1;
  14.                 y=++a;//通过上面的步骤,a=1;这时候又自己先加上去1,所以a=2,然后传值给y,y=2
  15.                 System.out.println("x="+x);
  16.                 System.out.println("y="+y);
  17.         }

  18. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马