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

Java简单for循环算法输出24的运行逻辑疑问

代码运行逻辑拆解

你梳理的逻辑规则本身没有错误,只是没有逐轮代入数值验证循环过程,一步步走每一轮的变量变化就能得到结果:

public class Test1
{
    public static void main (String[]args)
    {
        int number = 0;
        for (int i = 0; i < 5; i++)
        {
            if (number != 0)
            {
                number = i * number;
            }
            else
            {
                number = i;
            }
        }
        System.out.println (number);
    }
}
  • 初始状态:number = 0,循环未启动
  • 第一轮循环,i=0:
    此时number = 0命中else分支,number = i = 0,本轮结束后number仍为0
  • 第二轮循环,i=1:
    此时number = 0命中else分支,number = i = 1,本轮结束后number变为1
  • 第三轮循环,i=2:
    此时number = 1 != 0命中if分支,number = 2 * 1 = 2,本轮结束number为2
  • 第四轮循环,i=3:
    此时number = 2 != 0命中if分支,number = 3 * 2 = 6,本轮结束number为6
  • 第五轮循环,i=4:
    此时number = 6 != 0命中if分支,number = 4 * 6 = 24,本轮结束number为24
  • 循环终止(i下一次取值为5,不满足i<5的条件),最终打印值就是24,这段代码本质是计算4的阶乘4! = 1*2*3*4 = 24。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 08:24:05