通过反编译,看看Java的自增自减到底是怎么回事?
2021-02-01 06:14
标签:类型 一个 保存 代码 原来 main 生成 通过 -- 反编译结果: 反编译结果: 从上面反编译的结果看,java中的“先使用后修改”,其实是借助一个中间变量来保存变量原来的值,在这个值被使用前,变量的值已经发现了改变。所以用“先使用后修改”来描述java中的 i++或i--可能并不准确。 考虑下面的代码: 其输出结果为: 根据上文的分析,我们可以大胆分析一下,产生这个结果的过程: 下面是对以上代码进行反编译的结果: 通过反编译,看看Java的自增自减到底是怎么回事? 标签:类型 一个 保存 代码 原来 main 生成 通过 -- 原文地址:https://www.cnblogs.com/KenBaiCaiDeMiao/p/12814136.htmlJava自增自减
“先修改后使用” ++ i
public static void main(String[] args) {
int number = 1023;
System.out.println(++number);
}
public static void main(String[] args) {
int number = 1023;
int number = number + 1;
System.out.println(number);
}
“先使用后修改” i ++
public static void main(String[] args) {
int number = 1023;
System.out.println(number++);
}
public static void main(String[] args) {
int number = 1023;
short var10001 = number;//中间变量,变量类型有number的数值决定。
int var2 = number + 1;
System.out.println(var10001);
}
public static void main(String[] args) {
int number = 1023;
number = number++;
System.out.println(number);
}
1023
public static void main(String[] args) {
int number = 1023;
short var10000 = number;
int var2 = number + 1;
number = var10000;
System.out.println(number);
}