定义一个无序一维数组,求这个数组的最大值和最小值
那么首先我们先来简单的定义一个一维数组:
int []a=new int[]{3,2,4,5,7,8,9,0,1,7};
在脑海里构建思路,第一步应该怎么做?我们需要获取什么信息?如何定义最大和最小?
这时候需要知道一个原理,打擂台原理:
数组就是一个擂台,里面的数值就是英雄的战力值,第一个站出来的说自己是天下第一人,那么有人不服就可以上去pk掉它成为新的天下第一,以此类推。最小则相反即可。
接下来我们需要定义一个最大和最小,我说我是最大,那我就是最大,等着有人来打败我,我说我是最小,我就是最小,等着有人证明比我更小。
那么就可以定义数组的第一个数值为最大和最小;
int max=a[0];
int min =a[0];
接下里for循环取出里面的每一个数值来进行比较;
for (int i = 0; i <a.length ; i++) {
// 比较出最大值
if (max<a[i]){
//比最大值还大,a[i]就是最大值
max=a[i];
}
//比较出最小值,
if (min>a[i]){
//比最小值还小,a[i]就是最小值
min=a[i];
}
}
输出数组最大值,最小值:`
System.out.println("最大值为:"+max);
System.out.println("最小值为: "+ min);
结果图: