目前我正在学习Java而且我遇到了一些循环,我不知道它们是如何工作的。
代码如下所示:
int sum = 0, maximum = number[0], minimum = number[0];
for (int i = 0; i < number.length; i++) {
sum += number[i];
if (maximum < number[i]) {
maximum = number[i];
}
if (minimum > number[i]) {
minimum = number[i];
}
}
所以我的问题是:
是什么
int sum = 0, maximum = number[0], minimum = number[0]
呢?它是否使循环开始
从0?
,number.length;办?
sum + = number [i]做什么以及为什么需要[i]?
同样在检查最大/最小值的if循环中,为什么[i]后面有数字?
答案 0 :(得分:2)
这一行:
int sum = 0, maximum = number[0], minimum = number[0];
声明类型sum
的三个变量(maximum
,minimum
和int
)并使用一些值(0
,number[0]
初始化它们和number[0]
分别。
number
似乎是一个数组(可能是int[]
),这意味着它包含多个int
值。
number.length
只返回number
中的元素数量。
number[i]
返回数组中位置i
的元素(正如number[0]
返回位置0处的元素,a.k.a返回第一个元素)。
因此,您的大部分困惑似乎都是由于缺乏对数组的了解而引起的。
请参阅this tutorial了解初学者。
答案 1 :(得分:1)
int sum = 0,maximum = number [0],minimum = number [0]是什么? 它是否使循环从0开始?
它声明了3个int变量(sum,maximum和minimum)+初始化它们
在for循环中,是什么number.length;办?
它获取数字数组的长度
sum + = number [i]做什么以及为什么需要[i]?
sum += number[i]
也可以写成:sum = sum + number[i]
+=
被称为preincrement。需要[i]
,因为它引用数字数组中的某个索引
在检查最大/最小值的if循环中也是如此,原因是什么 那里有[i]数字?
因为您在i
数组中获得索引numbers
的数字。
答案 2 :(得分:0)
循环是for循环。如果是条件陈述。
int sum = 0, maximum = number[0], minimum = number[0];
这会创建并初始化3个int变量:sum,maximum和minimum。
number.length是此循环的结束条件的一部分。只要我&lt; number.length为true,此looop将被执行
number []是一个数组
sum+=number[i]
这将数字[i]的值加到sum上 [i]是数组的单元格 - 我在每个循环中得到一个新数字:
int i = 0; i < number.length; i++
所以它从0开始,递增1并且这已经完成,只要i低于number.length。
所以number[i]
在循环的第一次迭代中将是number[0]
,然后是数字[1],然后是数字[2],依此类推
答案 3 :(得分:0)
1。 int sum = 0,maximum = number [0],minimum = number [0]是做什么的?它是否使循环从0开始?
(请注意,此行对下一个for循环没有影响。)
此行分别将sum
,maximum
和minimum
初始化为0
,number[0]
和number[0]
。
请注意,此行是以下的简写:
int sum = 0;
int maximum = number[0];
int minimum = number[0];
2。在for循环中,number.length;办?
number.length
是数组number
的长度,也就是数组int
中存储的number
值的数量。
3。 sum + = number [i]做什么以及为什么需要[i]?
它增加了sum
的{{1}}
number[i]
是存储在int-array number[i]
中的第i个int
值。在此,number
称为索引。
4。同样在if ...中检查最大/最小值,为什么[i]在数字后面?
此处,i
是一个索引,表示您希望数组i
中的第i个值。
(顺便说一下,还要考虑
number
而不是两个maximum = Math.max(maximum, number[i]);
minimum = Math.min(minimum, number[i]);
条件。)
答案 4 :(得分:0)
我猜你的意思是“for loop”。让我们从for循环的语法开始。
for (int i = 0; i < number.length; i++) {
your code here....
}
“int i=0
”部分声明了一个“幻影”整数变量,这意味着它只存在于if循环中;当循环结束时,编译器“抛弃”该变量。 i的初始值为0。
然后你有部分;i < number.length;
。这部分表示“运行循环直到达到数组的长度。
最后,“i++
”定义步长;每次跑步后我会变得多大(或者更小)。在这种情况下,i ++表示i = i + 1
。
总结一下。你的for循环从计数器的初始化开始,然后决定你想要运行迭代的计数器有多大,最后你会增加多少这个计数器。
我必须注意,这些是基本的东西,一本书或指南对你来说很棒。否则你将不得不