算法描述
默认最大值是第一个元素
默认最小值也是第一个元素
遍历数组元素,比较数组元素的值和默认的最大值,如果数组元素的值比默认最大值还要大,则用数组元素的值作为默认的最大值,这样遍历一遍之后就可以求出最大值了.求最小值也是同样.
这里有两种方式来求记录最大最小值:
- 一种是记下最大值和最小值
- 另一种方式是记下最大值最小值在数组中的下标,再通过下标输出最大最小值,推荐使用这种方式.
代码
具体看下面的代码
public class MaxAndMin {
public static void main(String[] args) {
int[] array={1,3,67,34,23,89,56,34,21};//定义静态数组
System.out.println("----------方法1:-----------");
int max=array[0];//默认第一个最大
int min=array[0];//默认第一个最小
for(int i=1;i<array.length;i++)
{
if(array[i]>max)
{
max=array[i];//如果有比max大的数就让max记录下大的数
}
if(array[i]<min)
{
min=array[i];//如果有比min小的数就让min记录下小的数
}
}
System.out.println("max="+max);
System.out.println("min="+min);
System.out.println("---------------方法2:--------------");
int maxlocation=0;//默认第一个最大
int minlocation=0;//默认第一个
for(int i=0;i<array.length;i++)
{
if(array[i]>array[maxlocation])
{
maxlocation=i;//如果有比max大的数就让max记录下大的数
}
if(array[i]<array[minlocation])
{
minlocation=i;//如果有比min小的数就让min记录下小的数
}
}
System.out.println("max="+array[maxlocation]+" 位置:"+maxlocation);
System.out.println("max="+array[minlocation]+" 位置:"+minlocation);
}
}