gpt4 book ai didi

java - 需要有关此 for 循环的帮助

转载 作者:行者123 更新时间:2023-12-01 23:29:58 25 4
gpt4 key购买 nike

对于我的 Java 期中练习,我们需要编写一行代码的精确输出,在本例中是一个 for 循环。代码如下:

for(int first = 3; first > 0; first--)
for(int second = --first; second <= 5; second++)
System.out.println(first + " " + second);

所以我认为输出是:

2 2
2 3
2 4
2 5

但是当我在 Ecplipse 中运行它时,它会出现:

2 2
2 3
2 4
2 5
0 0
0 1
0 2
0 3
0 4
0 5

我理解“第二”如何从 5 变为 0,因为“第二 <= 5”,但我不明白“第一”如何也重置为 0。

我到处寻找答案,但找不到。任何有关其工作原理的帮助都会很棒。谢谢!

最佳答案

您将first递减两次:每次外循环迭代时递减一次,每次内循环开始迭代时递减一次。

因此,在打印 2 5 后,它到达内循环的末尾,并到达外循环的 first-- 。然后,当它再次返回到内部循环时,它会在打印其他内容之前命中 int secondary = --first 。因此从 2 变为 0。

就我个人而言,我会尽量避免像 int secondary = --first; 这样的语句 - 副作用通常会导致困惑。

关于java - 需要有关此 for 循环的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19481820/

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