for(int i = 1; i < 10; i += 3); 表示从 1 开始到 10 结束间隔为 3,相当于 1、4、7、10。
别被题干描述的'1、4、7、10'带偏了,这题核心就是考for循环里'条件判断'和'循环体执行'的先后顺序,以及空语句不产生任何输出这个冷知识。
最容易掉进两个坑:一是把'循环变量取到的值'和'循环体执行的次数'混为一谈,题干说'相当于'让你误以为输出了这些数;二是死记硬背'for循环就是遍历',忽略了当循环体是空语句时,它实际上什么都不做,连i的值都不会被打印出来。
这道题看似在考for循环的遍历规律,实则是在考你对循环结构的底层执行流程的理解,特别是"条件判断"与"循环体执行"的先后顺序,以及"空语句"在循环中的实际效果。
很多同学背过for循环的公式:for(初始化; 条件; 步进),但往往只记住了"先判后做"的大原则,却忽略了具体细节。for循环的标准执行流程是:
1. 初始化:执行一次,仅当循环刚开始时。 2. 条件判断:每次循环开始时先判断,若为假则直接跳出循环。 3. 循环体执行:若条件为真,才执行循环体内的代码。 4. 步进:循环体执行完毕后,立即执行步进表达式。 5. 回到条件判断:再次判断,循环往复。