Java數組01
Java數組01
數組概述
需求:現在需要統計某公司員工的工資情況,例如計算平均工資、找到最高工資等。假設該公司有80名員工,用前面所學的知識,程序首先需要聲明80個變量來分別記住每位員工的工資,然後在進行操作,這樣做會顯得很麻煩。為了解決這種問題,Java就提供了數組供我們使用。
那麽數組到底是什麽呢?有什麽特點呢?通過上面的分析:我們可以得到如下兩句話:
數組是存儲多個變量(元素)的東西(容器)
這多個變量的數據類型要一致
數組的定義格式
數組的概念
數組時候存儲用一種數據類型多個元素的容器
數組既可以存儲基本數據類型也可以存儲引用數據類型
數組的定義格式
格式一:數據類型[] 數組名;--->int[] name1;
格式二:數據類型 數組名[];--->int name2[];
註意:這兩種定義定義好了後,數組中是沒有元素值的。
數組的初始化
數組初始化概述:
Java中的數組必須初始化,然後才能使用。
所謂初始化:就是為數組中的元素分配內存空間,並為每個數組賦值。
數組的初始化方式:
<1> 動態初始化:初始化時只指定數組的長度,有系統為數組分配初始值
格式:數據類型[] 數組名 = new 數據類型[數組長度];
數組長度其實就是數組中的元素個數。
舉例:int[] arr = new int[3];
定義了一個int類型的數組,這個數組中可以存放3個int類型的值。
如何給數組存放數據呢?
int[] arr = new int[3];
arr[0] = 12;
0:下標,也叫索引。代表數組中的第一個值
<2>靜態初始化:初始化時指定每個數組元素的初始值,由系統覺得數組的長度
數組基本要素:
1>標識符:數組的名稱,用於區分不同的數組
2>數組元素:向數組中存放的數據
3>元素下標:對數組元素進行編號,從0開始,數組中每個元素都可以通過下標來訪問
4>元素類型:數組元素的數據類型
案例1:
package com.lyc.test; public class ArrayDemo01 {public static void main(String[] args) { //動態初始化: //數據類型[] 數組名 = new 數據類型[數組長度]; int[] arr01 = new int[3]; arr01[0] = 0; arr01[1] = 2; arr01[2] = 4; System.out.println(arr01[0]); System.out.println(arr01[1]); System.out.println(arr01[2]); System.out.println("-----------------------"); //靜態初始化: //數據類型[] 數組名 = new 數據類型[]{元素1,元素2,元素3...}; //int[] arr = new int[]{1,2,3}; //簡化: //數據類型[] 數組名 = {元素1,元素2,元素3...}; //int[] arr = {1,2,3}; int[] arr02 = {11,22,33,44,55,66,77,88,99,00}; //輸出數組名和元素 System.out.println(arr02[0]); System.out.println(arr02[1]); System.out.println(arr02[2]); int len =arr02.length;//獲取數組arr02的長度 System.out.println("長度為:"+len); } }
案例2:循環錄入五門科目的成績,並輸出
package com.lyc.test; import java.util.Scanner; public class ArrayDemo02 { //循環錄入五門科目的成績,並輸出 public static void main(String[] args) { Scanner sc = new Scanner(System.in); //定義數組長度 int[] scores = new int[5]; //循環錄入五位同學的成績 for (int i = 0; i < scores.length; i++) { System.out.println("請輸入第"+(i+1+"位同學的成績:")); scores[i] = sc.nextInt(); } //循環輸出五位同學的成績 for (int i = 0; i < scores.length; i++) { System.out.println("第"+(i+1)+"位同學的成績:"+scores[i]); } } }
結果:
案例三:
package com.lyc.test; import java.util.Scanner; public class ArrayDemo03 { //循環輸入5門成績,並且打印出最高分和最低分,求總分,求平均分 public static void main(String[] args) { Scanner sc = new Scanner(System.in); //定義數組長度 int[] scores = new int[5]; int max = 0;//默認設置最高分為數組的第一個值 int min = 0;//最低分 int sum = 0;//總分 double avg = 0;//平均分 //循環錄入五位同學的成績 for (int i = 0; i < scores.length; i++) { System.out.println("請輸入第"+(i+1)+"位同學的成績:"); scores[i] = sc.nextInt(); sum = sum + scores[i];//獲取總分 } for (int i = 0; i < scores.length; i++) { if (max<scores[i]) { max = scores[i];//獲取最高分 } } //scores.length-1 為了避免下面進行if判斷時出錯 for (int i = 0; i < scores.length-1; i++) { if (scores[i]>scores[i+1]) { min = scores[i+1];//獲取最低分 } } avg = sum/scores.length;//平均分 System.out.println("最高分:"+max); System.out.println("最低分:"+min); System.out.println("總分:"+sum); System.out.println("平均分:"+avg); } }
結果:
Java數組01