在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);
}
}
}
14.14.1。声明的基础
BasicForStatement: for ( [ForInit] ; [Expression] ; [ForUpdate] ) Statement
如果表达式不存在,或者存在并且表达式的求值(包括任何可能的拆箱)为true,则执行包含的Statement。然后有一个选择:
如果该语句的执行正常完成,那么将依次执行以下两个步骤:
首先,如果存在ForUpdate部分,则按从左到右的顺序对表达式求值;其值(如果有)将被丢弃。如果由于某种原因突然结束了任何表达式的求值,则for语句由于相同的原因而突然完成;不会对突然完成的表达式右边的任何ForUpdate语句表达式求值。
第二,执行另一个迭代步骤。
在您的示例中,这意味着i++
将在该System.out.printf
行之后执行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句