for循环是如何完成的

时间:2014-08-17 02:16:14

标签: java for-loop

这是一个非常简单的for循环:

for(int i=0;i<=100;i++)
{
    System.out.println(i);
}

我知道它主要是如何运作的,但我不明白i++最终是如何运作的:它应该加1,如果我是正确的,但当它打印出来时i,它打印出0然后打印1。

为什么它不是因为i++而只是从1开始?为什么它仍然只打印原始值而不是i++值?

6 个答案:

答案 0 :(得分:7)

for循环的工作原理如下:

  1. 初始化已完成(在您的情况下为int i=0;仅执行一次)
  2. 检查条件(i<=100此处),如果条件为假,则退出循环
  3. 大括号内的代码已执行(在您的情况下为System.out.println(i);
  4. 执行更新语句(i++
  5. 转到2。

答案 1 :(得分:2)

它与此while循环相似:

{
    int i = 0;
    while (i <= 100) {
        System.out.println(i);
        i++;
    }
}

i仅在每次迭代结束时递增。

答案 2 :(得分:2)

因为在第一次执行循环体之后计算增量。这是设计上的,请记住,程序员通常将0视为第一个数字。例如,对于数组和字符串,第一个元素是0。

The for Statement上的Java教程说,

  

for语句提供了一种迭代一系列值的简洁方法。程序员经常将其称为“for循环”,因为它反复循环直到满足特定条件的方式。 for语句的一般形式可表示如下:

for (initialization; termination; increment) {
  statement(s)
}
     

使用此版本的for语句时,请记住:

     

初始化表达式初始化循环;循环开始时,它执行一次。      当终止表达式求值为false时,循环终止。      每次迭代循环后调用increment表达式;这个表达式增加或减少一个值是完全可以接受的。

答案 3 :(得分:1)

这是它的工作原理

enter image description here

for语句用于重复用大括号括起来的语句块。增量计数器通常用于递增和终止循环。 for语句对于任何重复操作都很有用,并且通常与数组结合使用以对数据/引脚集合进行操作。

for循环标题有三个部分:

for(initialization; condition; increment / decrement){

//statement(s);

}

初始化首先发生,恰好一次。每次通过循环,测试条件;如果它为真,则执行语句块和增量,然后再次测试条件。当条件变为假时,循环结束。

致谢:For

答案 4 :(得分:-1)

如果你使用++运算符作为前缀,如:++ var;然后,操作数的值增加1然后,只返回它,但是,如果你使用++作为后缀,如:var ++;然后,首先返回操作数的值,然后只增加1。

例如,

class Example
{
    public static void main(String[] args)
    {
        int var = 1;    
        System.out.println(var++);
        System.out.println("\n" + ++var);    
    }
}

以下程序打印

1
3

在前缀表单中,增量或减量发生在表达式求值中使用值之前,因此表达式的值不同于操作数的值。在后缀形式中,增量或减量发生在表达式求值中使用该值之后,因此表达式的值与操作数的值相同。

答案 5 :(得分:-1)

i ++ 视为声明&#34;使用然后递增&#34;
i 的值将首先在循环中使用,然后递增1。 因此循环执行一次,然后检查声明和增量语句。