You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何求解包含后自增、后自减运算符的Java表达式?

解析Java表达式 i += i++ + i-- + i-- 的输出结果
// Java program
class HelloWorld {
    public static void main(String[] args) {
        int i = 5;
        i += i++ + i-- + i--;
        System.out.println(i);
    }
}

这段代码的输出结果是21,核心逻辑在于Java中*后自增(post-increment)和后自减(post-decrement)*的执行规则:

  • 后自增/自减运算符(i++、i--)会先返回变量的当前值,再对变量本身进行增减操作
  • 计算 i += i++ + i-- + i-- 时,所有参与加法运算的i都会先取初始值5参与计算,之后才依次执行自增自减的变量修改

具体运算拆解:

  1. 初始状态:i = 5
  2. 计算右侧加法表达式:i++ + i-- + i-- 先取三个当前值5,总和为 5 + 5 + 5 = 15
  3. 执行后自增自减操作:
    • i++ 执行后,i 变为6
    • i-- 执行后,i 变为5
    • 第二个i-- 执行后,i 变为4
  4. 执行i += 15:此时i的当前值是4,最终结果为 4 + 15 = 21

如果错误认为自增自减会影响同一表达式中后续的取值,可能会得出19的错误结果,但实际上后自增自减的变量修改是在取值之后才发生的,不会干扰同一表达式内其他位置的变量取值。

内容的提问来源于stack exchange,提问作者Nikhil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 21:21:04