Java中数组的最小值和最大值

Java中数组的最小值和最大值,java,arrays,Java,Arrays,我试图得到数组的最小值和最大值。问题是我不确定for循环的中到底发生了什么。我们使用int为循环创建。然后是if语句和我的问题:数字[i]应该是什么意思?我认为数字已经指定了大小(9,通过初始化{1,2,3,…,9})。我们如何将其更改为[i],我代表什么 public class Array { public static void main(String[] args) { int numbers[] = { 92, -108, 2, 120, 67, 4, -81, 9, 88,

我试图得到数组的最小值和最大值。问题是我不确定for循环的
中到底发生了什么。我们使用
int
为循环创建
。然后是if语句和我的问题:数字[i]
应该是什么意思?我认为数字已经指定了大小(9,通过初始化{1,2,3,…,9})。我们如何将其更改为
[i]
,我代表什么

public class Array {

public static void main(String[] args) {
    int numbers[] = { 92, -108, 2, 120, 67, 4, -81, 9, 88, 1 };
    int min, max;
    min = max = numbers[0];

    for (int i = 1; i < 10; i++) {
        if (numbers[i] < min)
            min = numbers[i];
        if(numbers[i] > max){
            max = numbers[i];
        }
    }
    System.out.println("min is: " + min + "; max is: " + max);
}
}
公共类数组{
公共静态void main(字符串[]args){
整数[]={92,-108,2,120,67,4,-81,9,88,1};
最小整数,最大整数;
最小值=最大值=数字[0];
对于(int i=1;i<10;i++){
如果(数字[i]最大值){
max=数字[i];
}
}
System.out.println(“最小值为:+min+”,最大值为:+max);
}
}

期待您的回复

numbers[i]
是您访问数组中第i个元素的方式。

numbers[i]
是您访问数组中第i个元素的方式。

让我们来了解一下您试图理解的内容

int numbers[] = { 92, -108, 2, 120, 67, 4, -81, 9, 88, 1 };
int min, max;
min = max = numbers[0];

for (int i = 1; i < 10; i++) {
    if (numbers[i] < min)
        min = numbers[i];
    if(numbers[i] > max){
        max = numbers[i];
    }
}
下一条语句将
min
max
声明为数组的第一个元素(0是第一个元素,数组的大小一直到1,在本例中为9)

下一部分是for循环,这是所有计算的作用所在。for循环表示在1处启动名为
i
off的
int
。每次通过这个循环,比较中间的布尔值,在这种情况下是<代码> i<10 < /代码>,这意味着只要<代码> i <代码>小于10,就停留在循环中。每次迭代后,执行第三个操作,在本例中为
i++
,这意味着将
i
变量增加1

太好了,我们正在进行for循环。让我们从第一次迭代开始,这意味着
i
为1。我们取
numbers
数组的第二个元素(0是第一个元素,记得吗?)并将其与
min
first的当前值(它是数组的第一个元素,92)进行比较

如果你看数值,-108,数组中的第二个元素,小于min。因此,
min
现在被设置为数组中的第一个元素。接下来,我们比较-108,看看它是否大于
max
,也就是92-108不大于92,所以它跳过那个if语句

i = 1
min = numbers[1] (-108).
max = numbers[0] (92).
让我们看一下for循环的第二次迭代。既然到了最后,我们就执行
i++
语句。现在我们在
i
=2。让我们检查一下,确保我们不退出。
i
的值是否小于10?是的,让我们从顶部继续

数字[2](即2)是否小于
min
(-108)的当前值?不,跳过if语句。数字[2]是否大于当前最大值(92)?不,让我们再看看这些值:

i = 2
min = numbers[1] (-108)
max = numbers[0] (92)
接下来,因为我们在底部,所以执行
i++
<代码>i
现在等于3


这一过程一直持续到
i
=9,因为当
i
=10时,由于for循环中的中间语句exit子句,它退出for循环。

让我们来了解一下您试图理解的内容

int numbers[] = { 92, -108, 2, 120, 67, 4, -81, 9, 88, 1 };
int min, max;
min = max = numbers[0];

for (int i = 1; i < 10; i++) {
    if (numbers[i] < min)
        min = numbers[i];
    if(numbers[i] > max){
        max = numbers[i];
    }
}
下一条语句将
min
max
声明为数组的第一个元素(0是第一个元素,数组的大小一直到1,在本例中为9)

下一部分是for循环,这是所有计算的作用所在。for循环表示在1处启动名为
i
off的
int
。每次通过这个循环,比较中间的布尔值,在这种情况下是<代码> i<10 < /代码>,这意味着只要<代码> i <代码>小于10,就停留在循环中。每次迭代后,执行第三个操作,在本例中为
i++
,这意味着将
i
变量增加1

太好了,我们正在进行for循环。让我们从第一次迭代开始,这意味着
i
为1。我们取
numbers
数组的第二个元素(0是第一个元素,记得吗?)并将其与
min
first的当前值(它是数组的第一个元素,92)进行比较

如果你看数值,-108,数组中的第二个元素,小于min。因此,
min
现在被设置为数组中的第一个元素。接下来,我们比较-108,看看它是否大于
max
,也就是92-108不大于92,所以它跳过那个if语句

i = 1
min = numbers[1] (-108).
max = numbers[0] (92).
让我们看一下for循环的第二次迭代。既然到了最后,我们就执行
i++
语句。现在我们在
i
=2。让我们检查一下,确保我们不退出。
i
的值是否小于10?是的,让我们从顶部继续

数字[2](即2)是否小于
min
(-108)的当前值?不,跳过if语句。数字[2]是否大于当前最大值(92)?不,让我们再看看这些值:

i = 2
min = numbers[1] (-108)
max = numbers[0] (92)
接下来,因为我们在底部,所以执行
i++
<代码>i现在等于3

这一过程一直持续到
i
=9,因为当
i
=10时,由于for循环中的中间语句exit子句,它退出for循环。

正如Andrew Rueckert在Java中以及在大多数其他主要语言中所说的那样,
array[i]
notation提供对数组第i个元素的访问
array
。您可以使用方括号
[]
在数组定义中指定数组的大小,例如:

int[] array = new int[10];
但稍后,将使用括号指定要访问数组中的哪个元素。在您的示例中,有
f