欢迎光临散文网 会员登陆 & 注册

不懂字节码也能看懂的i++和++i运行原理分析

2023-05-16 22:11 作者:喵莉樱Nyayurn  | 我要投稿

int i = 0;

int j = i++ + ++i;

System.out.println(j); // 2

模拟一下字节码的运行

可以看到i++的操作步骤就是先把i放入操作数栈,然后再将i自增

而++i其实就是先自增后放入操作数栈

再看一个案例:

int i = 0;

i = ++i;

i = 0;

i = i++;

同上,i = ++i因为先自增,所以在操作数栈内的值也是1,最后赋值i也是1

i = i++因为后自增,操作数栈内的值是0,所以最后赋值时i是0

不懂字节码也能看懂的i++和++i运行原理分析的评论 (共 条)

分享到微博请遵守国家法律