为了账号安全,请及时绑定邮箱和手机立即绑定

关于A++自增的问题。

public class HelloWorld{    

public static void main(String[] args)

 {

 int a=24;   int b=a++;   

 System.out.println("a:"+a);    

System.out.println("b:"+b);

 } }

 输出结果: a:25 b:24 

为什么啊?

 a=24 b的值是取a值后自增1 不是应该:a:24 b:25  才对吗?

正在回答

代码语言

4 回答

b=a++表示把a的值赋给b,然后a=a+1,自增是增靠近"++"这个运算符最近的变量的。

如果想要达到“b的值是取a值后自增1”好像只能分开敲b=a;b++;

测试了一下用java好像无法判别(b=a)++;会提示错误为意外的类型;不过用C可以正确识别。

另外,在java中,a++ 和 ++a的相同点都是给a+1,不同点是a++是先参加程序的运行再+1,而++a则是先+1再参加程序的运行。

举个例子来说: a=2;  b = a++;    运行后: b = 2,a =3 ;

                         a=2;  b = ++a;    运行后: b = 3,a =3; 

0 回复 有任何疑惑可以回复我~

a++就是先把a的值赋值给b;如果是b=++a的话,就是先给a加1,然后赋值给b,结果就是a=25,b=25,

0 回复 有任何疑惑可以回复我~

b=a++ ,是把a赋值给b,然后a自增

0 回复 有任何疑惑可以回复我~

b=a++,意思是b=a,然后a++。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于A++自增的问题。

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号