代码如下:
public static void main(String[] args){
//创建一个数组
int[] array = {1,454,56,67,234,556,78,34};
//求数组的最大值
int maxVal = getArrayMaxVal(array);
//输出数组的最大值
System.out.println("数组array的最大值为:"+maxVal);
//===========================================================================
//求数组的最小值
int minVal = getArrayMinVal(array);
//输出数组的最大值
System.out.println("数组array的最小值为:"+minVal);
}
//求数组的最大值
public static int getArrayMaxVal(int[] array){
int max = array[0];//获取数组的第一个值
for(int i = 1; i< array.length; i++){//从数组的第二个值开始与max对比
max = max > array[i] ? max : array[i];//拿max与array[i]进行对比,并获取最大值
}
return max;//返回最大值
}
//求数组的最小值
public static int getArrayMinVal(int[] array){
int max = array[0];//获取数组的第一个值
for(int i = 1; i< array.length; i++){//从数组的第二个值开始与max对比
max = max < array[i] ? max : array[i];//拿max与array[i]进行对比,并获取最小值
}
return max;//返回最小值
}
获取最大值 、最小值的方法解析
首先定义了一变量max去接收对比出来的最大值、最小值,给max变量的初始值为变量的第一个值
int max = array[0];
然后对数组进行循环对比 ,因为数组的第一个值 已经赋给了max,所以,在进行对比时,就不拿数组的第一个值再与max对比了,因为没有意义,所以直接拿数组的第二值与max进行对比。在对比时,采用了三元运算。当然,这里也可以主使用if...else方法来进行判断,但代码量较多。所以我比较喜欢使用三元运算;
for(int i = 1; i < array.length; i++){
max = max > array[i] ? max : array[i];//这句话的意思是,如果max 大于 array[i],那么就取max,否则,就取array[i]
}
用上面的循环进行遍历后,就可以得出数组的最大值 了,当然,如果把 max = array[i]?max : array[i];中的>换成<,取的就是最小值了。
最后,将获取的最大值 、最小值 返回给调用 方
return max;
结果为:
数组array的最大值为:556
数组array的最小值为:1