Java中变量自增:a++和++a的区别
public static void main(String[] args) {
int a=10;
int b=a++;
int c=++a;
}
在最开始学习Java时我们都知道,第二行代码:int b=a++,是先把变量赋值给b,然后再执行自增。第三行代码:int b=++a;是先对a执行自增,再赋值给c。
下面我们看Java编译的字节码文件来看一下在底层,栈内部这个区别是具体怎么体现的。
经过编译之后会生成.class的字节码文件,我们可以使用以下命令查看字节码文件
javap -v *.class
得到以下结果
Classfile /Users/mengao/IdeaProjects/JavaBook/target/classes/_05_jvm相关/_02_.class
Last modified 2022-2-12; size 454 bytes
MD5 checksum 5c2f282df67cce412e133bdf41f398da
Compiled from "_02_.jav
共有 0 条评论