在java中,判斷數(shù)組的最大值和最小值是非常常見的操作,我們可以通過以下代碼完成這個(gè)任務(wù):
public class FindMinMaxValue { public static void main(String[] args) { // 創(chuàng)建一個(gè)數(shù)組 int[] arr = { 88, 73, 98, 52, 60}; // 初始化最大值和最小值 int max = arr[0]; int min = arr[0]; // 遍歷數(shù)組,比較每個(gè)元素的大小 for (int i = 1; i< arr.length; i++) { if (arr[i] >max) { max = arr[i]; } if (arr[i]< min) { min = arr[i]; } } // 輸出結(jié)果 System.out.println("數(shù)組中的最大值是:" + max); System.out.println("數(shù)組中的最小值是:" + min); } }
上面的代碼首先創(chuàng)建一個(gè)數(shù)組,然后通過for循環(huán)遍歷數(shù)組中的每個(gè)元素,比較其大小,不斷更新最大值和最小值。最后輸出結(jié)果,即可得到數(shù)組中的最大值和最小值。
當(dāng)然,如果數(shù)組中存在負(fù)數(shù),上面的代碼也是正確的。但是,如果數(shù)組中全是負(fù)數(shù),那么初始的最大值和最小值都是0,并不能得到正確的結(jié)果。針對這種情況,我們可以通過手動(dòng)判斷數(shù)組的元素個(gè)數(shù),來決定初始的最大值和最小值:
public class FindMinMaxValue { public static void main(String[] args) { // 創(chuàng)建一個(gè)數(shù)組 int[] arr = {-88, -73, -98, -52, -60}; // 初始化最大值和最小值 int max, min; if (arr.length >0) { max = arr[0]; min = arr[0]; } else { max = Integer.MIN_VALUE; min = Integer.MAX_VALUE; } // 遍歷數(shù)組,比較每個(gè)元素的大小 for (int i = 1; i< arr.length; i++) { if (arr[i] >max) { max = arr[i]; } if (arr[i]< min) { min = arr[i]; } } // 輸出結(jié)果 System.out.println("數(shù)組中的最大值是:" + max); System.out.println("數(shù)組中的最小值是:" + min); } }
上面的代碼中,當(dāng)數(shù)組的長度為0時(shí),初始的最大值是最小整數(shù)值(-2147483648),初始的最小值是最大整數(shù)值(2147483647),這樣即可得到正確的結(jié)果。