Java中数组的最小值和最大值
我试图得到数组的最小值和最大值。问题是我不确定for循环的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,
中到底发生了什么。我们使用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