【常见面试题】java自增 i++与++i

1. 先上结论

在工作中,避免使用复杂的++自增,容易造成混乱。不如直接+1,清晰明了,不容易出bug。此题最大的意义就是面试

  1. 赋值=,最后计算

  2. =右边的从左到右加载值依次压入操作数栈

  3. 实际先算哪个,看运算符优先级

  4. 自增、自减操作都是直接修改变量的值,不经过操作数栈

  5. 最后的赋值之前,临时结果也是存储在操作数栈中

建议:《JVM虚拟机规范》关于指令的部分

2. 测试代码

public class AutoIncrement {
    public static void main(String[] args) {
        int i = 1;
        i = i++;
        int j = i++;
        int k = i + ++i * i++;
        System.out.println("i=" + i);    // i=4
        System.out.println("j=" + j);        // j=1
        System.out.println("k=" + k);        // k=11
    }
}

输出结果

i=4

j=1

k=11

posted on   小石头小祖宗  阅读(24)  评论(0编辑  收藏  举报  

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示