why a=5,b=a++

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

Rueroo

2015-05-26 16:09

int a=5; int b=a++; System.out.println(a); System.out.println(b); 运行结果里b可以理解,为什么a=6呢?

写回答 关注

2回答

  • yong_a
    2015-05-26 17:06:10

    楼上说的意思是对的,但是写错了

    int a=5; int b=a++; 这个情况,a++先赋值给b,此时b为5,然后再执行自加,输出b=5,a=6;

    int a=5; int b=++a; 这个情况,++a先自加,此时a为6,然后再赋值给b,输出b=6,a=6;

  • Perona
    2015-05-26 16:25:19

    a++是先执行表达式后再自增,执行表达式时使用的是a的原值。
    ++a是先自增再执行表达示,执行表达式时使用的是自增后的a。

    所以int b=a++; 运行结果a=5;(还是原值)

    int b=++a; 运行结果a=6;(自增后的值,原值已改变)

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

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

1165550 学习 · 17586 问题

查看课程

相似问题