更新時(shí)間:2022-10-21 來源:黑馬程序員 瀏覽量:
在操作數(shù)組的時(shí)候,經(jīng)常需要獲取數(shù)組中元素的最值。下面通過一個(gè)案例來演示如何獲取數(shù)組中元素的最大值。如文件2-28所示。
文件2-28 Example29.java
public class Example28 { public static void main (String[] args) { int[] arr = { 4, 1, 6, 3, 9, 8}; //定義一個(gè)數(shù)組 int max = getMax (arr); //調(diào)用獲取元素最大值的方法 System.out.println ("max=" + max); //打印最大值 } static int getMax (int[] arr) { int max = arr[0]; //定義變量max用于記住最大數(shù),首先假設(shè)第一個(gè)元素為最大值 // 下面通過一個(gè)for循環(huán)遍歷數(shù)組中的元素 for (int x = 1; x < arr.length; x++) { if (arr[x] > max) { //比較arr[x]的值是否大于max max = arr[x]; //條件成立,將arr[x]的值賦給max } } return max; //返回最大值max } }
文件2-28的運(yùn)行結(jié)果如圖2-46所示。
圖2-46 文件2-28的運(yùn)行結(jié)果
在文件2-28中,第7~16行代碼定義的getMax()方法用于求數(shù)組中的最大值,該方法定義了一個(gè)臨時(shí)變量max,用于記錄數(shù)組的最大值。首先假設(shè)數(shù)組中第一個(gè)元素arr[0]為最大值,然后使用for循環(huán)對數(shù)組進(jìn)行遍歷,在遍歷的過程中只要遇到比max值還大的元素,就將該元素賦值給max。這樣,變量max就能夠在循環(huán)結(jié)束時(shí)記錄數(shù)組中的最大值。需要注意的是,for循環(huán)只需要從第二個(gè)元素開始比較。第4行代碼調(diào)用getMax()函數(shù)獲取數(shù)據(jù)arr的最大值,由圖2-46可知,數(shù)組arr中的最大值為9。