gpt4 book ai didi

java - Java逻辑中的三重嵌套for循环

转载 作者:行者123 更新时间:2023-11-30 08:31:59 26 4
gpt4 key购买 nike

我正在及时运行一本名为 java 的教科书上的这段代码,我可以看到输出,但我并不完全理解这个嵌套 for 循环的过程。

for (int die1 = 1; die1 <= 6; die1++)
for (int die2 = 1; die2 <= 6; die2++)
for (int die3 = 1; die3 <= 6; die3++)
System.out.println(die1 + die2 + die3 + " From " + die1 + "+" + die2 + "+" + die3);

die numbers的输出结果是这样的,111112113114115116

我能理解。第三个for循环循环6次,每次递增die3并显示输出。

下一行输出给出

121122123124125126

这是我有点困惑的地方。我可以看到 die2 现在已增加 1 并增加到 2,但我对 die3 的值现在如何回到 1 并再次递增感到困惑。有人可以向我解释这个嵌套 for 循环中发生的过程吗?谢谢

此外,通过将“{}”括号应用于每个循环是否改变了逻辑?

最佳答案

添加括号不会改变逻辑,因为在这种情况下,括号内的每个语句都只是一行。如果你想在一个 block 中包含多行,你需要方括号(尽管总是使用它们是个好主意 - 你没有任何成本并且使代码更具可读性)。

至于代码是如何工作的,让我们看一下。

  1. 我们进入一个从 1 到 6 的循环。这个循环从 1 开始。
  2. 我们进入一个从 1 到 6 的新循环。这也从 1 开始。
  3. 我们从 1-6 进入最后一个循环。这从 1 开始。
  4. 此时第一个打印语句发生,打印 111。
  5. 第 3 步的循环遍历所有 6 个数字,打印 111-116。
  6. 第 3 步的循环结束,所以现在第 2 步的循环可以从 1 递增到 2
  7. 循环 2 之后的语句是循环 3,因此从 1 开始新的循环。
  8. 打印语句为 1-6 的新内循环再次启动,导致打印数字 121-126

如果您还不明白,一个很棒的工具是设置断点并单步执行代码。您可以逐步查看发生的情况。

关于java - Java逻辑中的三重嵌套for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40390759/

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