for循环如何完全解决

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

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

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

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

for循环的工作原理如下:

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

这与循环类似:

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

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

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

The Statement上的Java教程说,

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

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

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

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

这是它的工作原理

在此处输入图像描述

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

for循环标题有三个部分:

for( initialization ; condition ; increment / decrement ){

//statement(s);

}

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

致谢: 为

如果你使用++运算符作为前缀,如:++ 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 

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

i ++看作是“使用然后增量”的语句
i的值首先在循环中使用,然后递增1.因此循环执行一次,然后检查声明和增量语句。