需要帮助理解循环

时间:2013-11-27 13:54:29

标签: java loops if-statement

目前我正在学习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];
    }
}

所以我的问题是:

  1. 是什么 int sum = 0, maximum = number[0], minimum = number[0]呢?它是否使循环开始 从0?

  2. 在for循环中
  3. ,number.length;办?

  4. sum + = number [i]做什么以及为什么需要[i]?

  5. 同样在检查最大/最小值的if循环中,为什​​么[i]后面有数字?

5 个答案:

答案 0 :(得分:2)

这一行:

int sum = 0, maximum = number[0], minimum = number[0];

声明类型sum的三个变量(maximumminimumint)并使用一些值(0number[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循环没有影响。)

此行分别将summaximumminimum初始化为0number[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循环从计数器的初始化开始,然后决定你想要运行迭代的计数器有多大,最后你会增加多少这个计数器。

我必须注意,这些是基本的东西,一本书或指南对你来说很棒。否则你将不得不