关于A++自增的问题。

来源:3-2 Java中的算术运算符

慕村635210

2017-07-15 15:28

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回答

  • 想名字太累
    2017-07-15 18:24:51

    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; 

  • Passerby海
    2017-07-15 16:42:57

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

  • 慕粉1474779987
    2017-07-15 16:08:19

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

  • 我先吃口瓜
    2017-07-15 15:46:14

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

Java入门第一季(IDEA工具)升级版

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

1165652 学习 · 17587 问题

查看课程

相似问题