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

Java三元运算示例代码输出为1的执行逻辑答疑

代码执行逻辑详解

核心是Java三元运算符和自增/自减运算符的执行规则,逐行拆解如下:

  • 首先明确三元运算符判断条件 ? 分支A : 分支B的执行逻辑:
    先计算判断条件的布尔值,结果为true就只执行分支A,整个表达式的返回值就是分支A的结果;结果为false就只执行分支B,整个表达式的返回值就是分支B的结果。两个分支永远只会执行其中一个,不会同时运行。
  • 再明确前置自减运算符--变量的规则:先把变量自身的值减1,再把减完后的新值作为整个自减表达式的返回值。(和后置自增变量++规则不同,后置自增是先返回变量原来的值,再给变量加1,但这段代码里后置自增的分支根本没触发)

具体到这段代码的执行步骤:

  1. 声明int类型变量a,初始赋值为10;声明int类型变量b,初始赋值为2
  2. 计算三元运算符的判断条件a < b,也就是判断10 < 2,结果显然为false
  3. 因为条件为false,直接跳过a++分支(所以a的值从头到尾都是10,没有任何变化),执行--b分支
  4. 执行--b时,先把b的原值2减1得到新值1,再把1作为这个自减表达式的返回值,也就是整个三元运算符的最终结果
  5. 调用System.out.println打印这个结果,自然输出1

可以自行加两行代码验证:打印语句结束后分别输出a和b的值,会看到a=10、b=1,和上面的推导完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 18:57:34