不懂字節(jié)碼也能看懂的i++和++i運行原理分析
2023-05-16 22:11 作者:喵莉櫻Nyayurn | 我要投稿
int i = 0;
int j = i++ + ++i;
System.out.println(j); // 2
模擬一下字節(jié)碼的運行

可以看到i++的操作步驟就是先把i放入操作數(shù)棧,然后再將i自增
而++i其實就是先自增后放入操作數(shù)棧
再看一個案例:
int i = 0;
i = ++i;
i = 0;
i = i++;
同上,i = ++i因為先自增,所以在操作數(shù)棧內的值也是1,最后賦值i也是1
i = i++因為后自增,操作數(shù)棧內的值是0,所以最后賦值時i是0
標簽: