For循环自动增量变量

用户:

for(int i=0; i < 5; i++)循环中,printf读取它之前还不会i增加i++它吗?如果是这样,它应该返回i=1正确吗?0首先返回的是什么概念

public class Application {
    public static void main(String[] args) {

        for(int i=0; i < 5; i++) {
            System.out.printf("The value of i is: %d\n", i);
        }
    }
}
安德鲁·托比尔科(Andrew Tobilko):

14.14.1。声明的基础

BasicForStatement:
    for ( [ForInit] ; [Expression] ; [ForUpdate] ) Statement
  • 如果表达式不存在,或者存在并且表达式的求值(包括任何可能的拆箱)为true,则执行包含的Statement。然后有一个选择:

    • 如果该语句的执行正常完成,那么将依次执行以下两个步骤:

      • 首先,如果存在ForUpdate部分,则按从左到右的顺序对表达式求值;其值(如果有)将被丢弃。如果由于某种原因突然结束了任何表达式的求值,则for语句由于相同的原因而突然完成;不会对突然完成的表达式右边的任何ForUpdate语句表达式求值。

      • 第二,执行另一个迭代步骤。

在您的示例中,这意味着i++将在该System.out.printf之后执行

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章