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

Java技术疑问:为何变量c的值为8而非9?

为什么变量c的值是8而不是9?

这完全是Java里**后缀自增运算符(b++)**的特性导致的,拆解代码执行步骤就能明白:

  • 第一步:初始化 int a = 5, b = 3;,此时a=5,b=3。
  • 第二步:System.out.println(a + b); 输出5+3=8。
  • 第三步:int c = a + b++; 这里的b++是后缀自增,规则是先使用变量当前的值参与运算,运算完成后再把变量的值加1。所以这行代码实际执行顺序是:
    1. 用当前b的取值3,和a的5相加,得到8,赋值给c。
    2. 运算结束后,b的值才从3变成4。
  • 第四步:b++; 这行是单独的自增,b从4变成5。
  • 第五步:System.out.println(a + b); 输出5+5=10。
  • 最后格式化输出:a=5, b=5, c=8。

如果想让c的值变成9,你需要把b++改成前缀自增运算符(++b),前缀自增会先把变量的值加1,再参与运算,那样int c = a + ++b;就会用b加1后的4和a相加,得到9赋值给c。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 17:32:35