3 回答
TA贡献1757条经验 获得超7个赞
我将使用稍微不同的类比,因为很多答案都为您提供了正确的信息。
数组只是一个包含值的连续框列表。想象一下这是一个房屋列表,每个房屋编号从 0(Java 中的数组像许多其他编程语言一样从 0 开始,而不是 1)到n
(在您的情况下是 2)。
因此,如果您是从每所房子收集捐款的人,您将从第一所房子 0 开始,然后进行到下一个房子 1,然后到下一个房子 2。您将跟踪您现在正在访问的房子,以便您还知道下一个是哪个,这就是整数变量i
正在做的事情。
打印numbers[i]
不会形成循环,就像敲第一间房子并不意味着你要敲第二间房子一样。
该for
循环会跟踪您接下来需要访问的门牌号。它通过它在同一行中的 3 个语句来完成:
for(int i = 0; i < number.length; i++)
第一个语句是说从第一个房子 ( int i = 0
) 开始。你可以从你喜欢的任何地方开始。
第二个语句是说,无论有多少房子,你都想上到最后一个房子。( i < number.length
). 这字面意思是只要i
小于数组的大小就保持循环。您可能会问为什么不是 condition <=
。这是因为我们从0开始,所以长度(数组的大小)将是最后一个房子的数字+1。在你的情况下,length = 2 + 1
.
第三个陈述,是什么让你搬到下一个房子。i++
是说的简写i = i + 1
。该语句在循环的每次迭代之后发生。
所以基本上你的 for 循环首先将 i 初始化为 0,检查条件(第二个语句),如果条件满足,则进行第一次迭代,然后它最终递增i
,如果仍然满足第二个条件,则开始另一次迭代。重复此循环,直到for
表达式的第二个语句不再为真。
最后所有的numbers[i]
方法是,由于numbers
是一个数组,[ ]
操作符访问指定索引处的值。所以这就像用数字敲敲房子,i
看看谁住在那里。输入值以System.out.println()
在屏幕上打印该值。
TA贡献1797条经验 获得超6个赞
以下是 for 循环执行方式的细分(源自此认证学习指南)
名称如下:
for(initialization code;
boolean expression;
update statements){
body
}.
for 循环的部分按以下顺序执行:
初始化代码
如果布尔表达式为真,则执行主体,否则退出循环
身体执行
执行更新语句
返回第 2 步
因此,当应用于您的示例时,我们可以说:
运行初始化:
int i = 0
迭代 1:
if(i < number.length) // -> if(0 < 3)
//run body
i++ //i becomes 1
//return to step 2 (new iteration)
迭代 2:
if(i < number.length) // -> if(1 < 3) //i was incremented to 1
//run body
i++ //i becomes 2
//return to step 2 (new iteration)
迭代 3:
if(i < number.length) // -> if(2 < 3) //i was incremented to 2
//run body
i++ //i becomes 3
迭代 4(未运行):
//return to step 2 (new iteration)
if(i < number.length) // -> if(3 < 3) -> condition not met
//condition not met, stop the loop
更具体地说,我不明白我是如何表示数组的内容的
正如您在上面看到的,每次循环体执行完毕时,都会执行更新语句,这会使i变量递增,从而允许访问数组的不同索引。
这样做是明智的,如果您将更新语句更改为i += 2,则将跳过数组的某些索引。
TA贡献1806条经验 获得超8个赞
数组的值由语法取出
numbers[index];
数组索引从 0 开始,然后是 1 下一个 2 .... 所以为了检索你需要的第一个元素
numbers[0];
同时在 for 循环中,您创建了一个名为i. 请注意,在迭代时,由于 , 的值i增加了 1 i++。
所以在你的 for 循环中会发生这种情况。
numbers [0];
numbers[1];
numbers[2];
我想你不明白的是for循环是如何工作的。请阅读,
Java 中的 For 循环示例
根据那篇文章,
for(initialization; condition ; increment/decrement){
statement(s);
}
示例(这不是 Java,它是 JavaScript,但 for 循环的工作方式相同;javascript 不是 爪哇不要误会。我只想向您展示一个关于i价值如何增加的工作示例。):
var i;
for (i = 0; i < 10; i++) {
console.log("i = " + i);
}
添加回答
举报