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

Java自增(++)自减(--)运算符代码结果不符问题咨询

Java自增(++)/自减(--)运算符问题解答

1. 为何运行结果是19和20?

核心原因是你用了后置自增/自减运算符(x++/x--),这类运算符的执行逻辑是:先返回变量当前的原始值,再对变量本身进行自增/自减操作。

一步步拆解代码执行流程:

  • 初始状态:x = 19
  • 执行int inc = x++;:先把x当前的19赋值给inc,之后x自增为20 → 此时inc = 19,x = 20
  • 执行int dec = x--;:先把x当前的20赋值给dec,之后x自减为19 → 此时dec = 20,x = 19
  • 最后输出inc和dec,结果自然是19和20

2. 如何修改得到预期的20和19?

要实现“先修改变量值,再赋值”的逻辑,需要用前置自增/自减运算符(++x/--x),这类运算符会先对变量进行自增/自减操作,再返回修改后的新值。

修改后的代码如下:

public class Main{
    public static void main(String[] args){
        int x = 19;
        int inc = ++x; // 先将x自增为20,再把20赋值给inc
        int dec = --x; // 先将x自减为19,再把19赋值给dec

        System.out.println(inc);
        System.out.println(dec);
    }
}

对应执行流程:

  • 初始状态:x = 19
  • int inc = ++x;:x先自增为20,再赋值给inc → inc=20,x=20
  • int dec = --x;:x先自减为19,再赋值给dec → dec=19,x=19
  • 输出结果即为预期的20和19

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 04:05:59