【问题标题】:Could someone explain this for me - for (int i = 0; i < 8; i++) [closed]有人可以为我解释一下吗 - for (int i = 0; i < 8; i++) [关闭]
【发布时间】:2013-03-20 16:55:41
【问题描述】:

有人可以用最简单的术语解释一下,就像你在和一个白痴说话(因为你是),这段代码实际上在说/在做什么

for (int i = 0; i < 8; i++)

【问题讨论】:

标签: syntax for-loop


【解决方案1】:

这是一个循环,它说,好吧,每当i 小于 8 时,我都会执行代码块中的任何操作。每当i 达到 8 时,我就会停下来。循环每次迭代后,将i加1(i++),这样循环最终会在满足i &lt; 8i变为8,所以不再小于)条件时停止。

例如,这个:

for (int i = 0; i < 8; i++)
{
   Console.WriteLine(i);
}

将输出:01234567

看看代码是如何被执行了 8 次的?

就数组而言,当您不知道数组的大小但又想对其中的每一项进行操作时,这会很有帮助。你可以这样做:

免责声明:以下代码会因语言而异,但原理保持不变

Array yourArray;

for (int i = 0; i < yourArray.Count; i++)
{
    Console.WriteLine(yourArray[i]);
}

这里的区别在于执行次数完全取决于数组的大小,所以它是动态的。

【讨论】:

  • 这很有帮助,谢谢。显然它也提出了问题,但是当我查看代码的其他部分时,这些问题将得到解答。感谢您的快速回复:)!
  • @Gandeh 没问题,如果您有什么需要我澄清的,请告诉我。
【解决方案2】:

for (int i = 0; i

这是一个for 循环,它将根据括号内的条件多次执行下一条语句。

for (int i = 0; i

首先设置i = 0

for (int i = 0; i ;i++)

i &lt; 8 时继续循环。

for (int i = 0; i i++)

每次循环,将i 增加 1。

例如;

for (int i = 0; i < 8; i++)
    do(i);

会依次调用do(0)、do(1)、...do(7),当i达到8时停止(即i &lt; 8为假)

【讨论】:

  • 嘿 - 巧妙地应用删除线 :)
【解决方案3】:

循环的通用视图是

for (initialization; condition; increment-decrement){}

第一部分初始化代码。第二部分是条件,只要它为真,就会继续运行循环。最后一部分是循环每次迭代后将运行的内容。最后一部分通常用于递增或递减计数器,但不是必须的。

【讨论】:

  • 好吧,如果我达到 8,则 i = 0 在每个循环中重置为 0,将 i 添加到 i { do this } i
  • 不,您的代码说 i 在开始时最初是 0。 “最初”是关键词,该部分不再使用。然后检查条件。在你的情况下 0
【解决方案4】:
for(<first part>; <second part>; <third part>)
{
    DoStuff();
}

此代码的评估方式如下:

  1. 运行
  2. 如果为假,跳到最后
  3. DoStuff();
  4. 运行
  5. 转到 2

所以对于你的例子:

for (int i = 0; i < 8; i++)
{
    DoStuff();
}
  1. 将 i 设置为 0。
  2. 如果i不小于8,跳到最后。
  3. DoStuff();
  4. i++
  5. 转到 2

所以循环运行一次,将 i 设置为从 0 到 7 的每个值。注意 i 递增到 8,但随后循环立即结束;它不会在 i 设置为 8 时运行。

【讨论】:

    【解决方案5】:

    和下一个想法一样:

    “从i = 0开始,当i小于8,括号末尾的i加一,做括号内的说明”

    同理:

    while( i < 8 )
    {
        // instrucctions like:
        Console.WriteLine(i);
        i++;
    }
    

    For 语句是编码的基础,它对它的理解非常有用。

    这是重复 n 次相同指令或浏览(或对每个元素执行某些操作)数组的方式

    【讨论】:

      【解决方案6】:
      for (int i = 0; i &lt 8; i++) {
        //code
      }

      简单来说

      int i = 0;
      if (i &lt 8) //code
      i = i + 1; //i = 1
      if (i &lt 8) //code
      i = i + 1;  //i = 2
      if (i &lt 8) //code
      i = i + 1;  //i = 3
      if (i &lt 8) //code
      i = i + 1; //i = 4
      if (i &lt 8) //code
      i = i + 1; //i = 5
      if (i &lt 8) //code
      i = i + 1; //i = 6
      if (i &lt 8) //code
      i = i + 1; //i = 7
      if (i &lt 8) //code
      i = i + 1; //i = 8
      if (i &lt 8) //code - this if won't pass
      

      【讨论】:

        猜你喜欢
        • 2016-07-20
        • 2019-06-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-09
        • 2016-03-18
        • 1970-01-01
        • 2022-01-07
        相关资源
        最近更新 更多