gpt4 book ai didi

java - 解释一下我的输出

转载 作者:行者123 更新时间:2023-12-01 06:42:29 26 4
gpt4 key购买 nike

我的输出应该是 5 30 但是,输出是 5 25 我想知道为什么它给出 5 25

public static void main(String[] args)
{
int i = 1, j = 5;

do
{
System.out.println( i = i++ * j);
}
while (i <= 10);

System.out.println();
}

最佳答案

第一次迭代:

i == 1 : i=i++ * j
1 * 5 = 5

第二次迭代:

i == 5 : i=i++ * j
5 * 5 = 25

请注意,后增量运算符返回变量的原始值(在增量之前)。

我觉得很奇怪,您期望在第一次迭代中得到正确的输出 (5),但没有遵循相同的逻辑在第二次迭代中获得正确的输出 (25)。

看到您的评论,您应该注意到表达式 i=i++ * j 按以下顺序计算:

  1. i++ 被计算,返回 i 的原始值(第一次迭代中的 1)并递增 i 2

  2. 乘法计算结果 - 1 * 5,等于 5

  3. i(赋值之前的值为 2)被赋值为 5

关于java - 解释一下我的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47902815/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com