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

关于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
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165458    人
  • 解答问题       17585    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

关于A++自增的问题。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信