a++ 与 ++a 区别 a++ 与 ++a 区别? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 int a=1;System.out.println(a++);System.out.println(a);System.out.println(++a);System.out.println(a);LZ自己运行一下吧 单独作为一句话没什么区别吧!除了写法;要是放到一个表达式中的话,a++是先使用a再给a自身加1,后者相反! 很简单,a++是先处理a,之后a自增,++a是,a先自增,然后处理a示例a=1;b=a++; //b=1 a=2c=++a //c=3 a=3 a++ 与 ++a 都是表达式,他们都有值,第一个表达式(即a++)的值是a的原始值,这个表达式获得值之后,对变量a自增。而第二个表达式则是先对a自增,然后再把a的值作为表达式的值 ++a是先执行a+1,在调用a;a++是先调用a,再执行a+1 ++a 是先执行a+1,在把a+1赋给aa++ 是先调用a,在执行a+1 b = ++a; //a = a+1; b = a;b = a++; //b = a; a= a+1; 我很傻,所以这样记区别:++ a : ++在前,所以是先自增,所以return ++ a, 得到的是自增后的值a++: ++在后,所以是先返回值,后++, 所以 return a++ 将得到自增前的值。 a++ a先在表达式中运算然后自己再自增!如:int a=10; int b=9;b=b+a++;//b的结果是:19,因为当运算这个运算式时,a是先与这个b相加,然后自己再子增的。 sy.out.println(a); //此时打印的结果是 a=11,因为上面的运算式运算完后,a实现了自增++a 则是先自己自增,然后才参与运算式的运算! 如果:b=a++ 就这样的:b=a; a=a+1;如果:b=++a 就这样的:a=a+1; b=a; ++a 是先自己加一,然后运算,a++ 是先运算,再自己加一 b= 0,a = 1; b = ++a;// b = 2,a =2 b = a ++ // b = 1,a = 2 请问觉得简单的 朋友们 问个问题 int j = 200; j++; System.out.println(j); 打印的结果 和 int j = 200; j=j++; System.out.println(j);打印的记过应该不一样吧。。 这个类容在另一个帖子里面说过 也没有解决。。 忘 能解决的人 帮忙下 X++ 先执行,后自增,++X 先自增,后执行简单的来说,++X 和 X++,在单独使用时,最终都是 X=X+1,只不过是优先级不同,而 Y = ++X,相当于 X=X+1; Y = X; 而 Y = X++,相当于 Y = X; X=X+1; a++ 分开就等价于a;a+1;++a 则等价于:a = a + 1 a++是先运算a,再计算++而++a是先++,再代入运算a 编写代码,debug一下,什么都明白了 a++ 和 ++a 作为单独语句出现是无区别;但若出现在表达式中则有:++a 是先执行a+1,在把a+1赋给aa++ 是先调用a,在执行a+1 这两种表达对于a来说没有什么分别,结果都是让a的值加1,但是如果在表达式就不一样了,举个例子,比如:b=a++,就是将a的本身的值赋给b,而b=++a,就是将a的值加1后赋给b! 在表达式中 ++a 是先自加1 再参与运算,而a++是先参与运算后 再自加1比如System.out.print(++a);System.out.print(a++);若a=5;则前值为:6 后为:5 这种问题还拿来问,随便找本书,或者 google、baidu 一下就可以找到答案 很简单,a++是先处理a,之后a自增,++a是,a先自增,然后处理a示例a=1;b=a++; //b=1 a=2c=++a //c=3 a=3 java递归应用?? 如何在一个编辑框中,同时显示文字与图片????? while(true)如何退出循环? 修正下前面的小问题 如何扫描文件夹 eddygtimegod(dark) 请进,接一下分,谢谢 新手请教一个简单的问题! 在JB中运行一个类很难吗?真不明白。 请问,一般用java做什么? 大家帮我看看这段程序,很简单的 向下转型的问题 关于int和integer的一个简单问题,也是网上看见的,但是没想明白
int a=1;
System.out.println(a++);
System.out.println(a);
System.out.println(++a);
System.out.println(a);LZ自己运行一下吧
要是放到一个表达式中的话,a++是先使用a再给a自身加1,后者相反!
示例
a=1;
b=a++; //b=1 a=2
c=++a //c=3 a=3
a++ 是先调用a,在执行a+1
++ a : ++在前,所以是先自增,所以return ++ a, 得到的是自增后的值
a++: ++在后,所以是先返回值,后++, 所以 return a++ 将得到自增前的值。
如:
int a=10;
int b=9;
b=b+a++;//b的结果是:19,因为当运算这个运算式时,a是先与这个b相加,然后自己再子增的。
sy.out.println(a); //此时打印的结果是 a=11,因为上面的运算式运算完后,a实现了自增++a 则是先自己自增,然后才参与运算式的运算!
如果:b=++a 就这样的:a=a+1; b=a;
b = ++a;// b = 2,a =2
b = a ++ // b = 1,a = 2
int j = 200;
j++;
System.out.println(j);
打印的结果
和
int j = 200;
j=j++;
System.out.println(j);
打印的记过应该不一样吧。。
这个类容在另一个帖子里面说过 也没有解决。。
忘 能解决的人 帮忙下
++X 先自增,后执行简单的来说,++X 和 X++,在单独使用时,最终都是 X=X+1,只不过是优先级不同,
而 Y = ++X,相当于 X=X+1; Y = X;
而 Y = X++,相当于 Y = X; X=X+1;
a+1;++a 则等价于:
a = a + 1
而++a是先++,再代入运算a
++a 是先执行a+1,在把a+1赋给a
a++ 是先调用a,在执行a+1
比如System.out.print(++a);System.out.print(a++);若a=5;则前值为:6 后为:5
示例
a=1;
b=a++; //b=1 a=2
c=++a //c=3 a=3