Java基礎入門篇之數組初識
一、數組
1. 假設某公司有100個員工,需要統計某公司員工的工資情況,首先需要聲明100個變量來分別記每個員工的工資,那么如果按照之前的做法,可能定義的結構如下所示:
int a1,a2,a3,......a100;
要求你輸出這100個員工的工資,意味著你要寫System.out.println()語句100次。這樣的話就顯得很麻煩,所以我們需要用數組解決。
2. 數組指的是一組數據的集合,數組中每個數據叫做元素。在數組可以存放任意類型的數據,但是同一個數組存放的元素類型需要一致。
3. 數組的定義如下所示:
int[] a=new int[100];
上面這個數組的定義相當于在內存定義了100個int類型的變量,第1個變量的名稱是a[0],第2個變量的名稱是a[1],第3個變量名稱是a[2],直到第100個變量的名稱是a[99]。這些變量的初始值默認為0。
int[] a;//定義一個int[]類型的變量a
a=new int[100];//創建長度為100的數組
上面這個數組的定義一個int[]類型的變量a,變量a會占用一塊內存單元格,它還沒有分配初始的值。
如下圖所示:
a=new int[]創建一個數組,把數組的地址賦值給變量x,內存狀態就發生了變化。
如下所示:
4. 通過一個案例看看如何定義數組和訪問數組的元素、長度:
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a;//聲明一個int[]類型變量a
a=new int[3];//創建數組為3的長度
System.out.println("a[0]="+a[0]);//訪問數組的第1個元素
System.out.println("a[1]="+a[1]);//訪問數組的第2個元素
System.out.println("a[2]="+a[2]);//訪問數組的第3個元素
System.out.println("數組的長度為:"+a.length);//數組的長度
}
輸出的結果是:
a[0]=0
a[1]=0
a[2]=0
數組的長度為:3
我們分析一下上面的代碼,首先是聲明一個int[]類型變量a,然后創建數組長度為3,它是如何訪問數組的元素的呢?通過a[0]訪問數組的第1個元素,因為數組下標由0開始,最大下標是數組元素個數-1。a.length屬性是訪問數組的長度。
二、數組的靜態初始化
1.什么是數組的靜態初始化
定義數組時,為數組的每個元素賦值就叫做數組的靜態初始化。
2.數組的靜態初始化兩種方式
類型[] 數組名 = new 類型[]{值1, 值2, ……};
類型[] 數組名 = {值1, 值2, ……};
3.數組的靜態初始化如何定義和訪問數組的值
如下所示:
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a={1,2,3};//靜態初始化
System.out.println("a[0]="+a[0]);//訪問數組的第1個元素
System.out.println("a[1]="+a[1]);//訪問數組的第2個元素
System.out.println("a[2]="+a[2]);//訪問數組的第3個元素
System.out.println("數組的長度為:"+a.length);//數組的長度
}
輸出的結果為:
a[0]=1
a[1]=2
a[2]=3
數組的長度為:3
使用靜態初始化數組給每個元素進行賦值,分別是1、2、3。
三、數組的動態初始化
1.什么是數組的動態初始化
定義數組由系統自動給元素賦初始值,我們就叫做數組的動態初始化。
2.動態初始化的方式
類型[] 數組名 = new 類型[長度];
3.動態初始化只需要指定數組的長度,系統自動賦初始值。分配初始值的規則:
boolean數據類型它的系統默認值為false;
byte數據類型它的系統默認值為0;
char數據類型它的系統默認值為’/u0000’;
short數據類型它的系統默認值為0;
int數據類型它的系統默認值為0;
long數據類型它的系統默認值為0L;
float數據類型它的系統默認值為0.0f;
double數據類型它的系統默認值為0.0;
4.動態初始化如何定義和訪問數組的元素
例如:
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] a=new int[4];//動態初始化
System.out.println("a[0]="+a[0]);//訪問數組的第1個元素
System.out.println("a[1]="+a[1]);//訪問數組的第2個元素
System.out.println("a[2]="+a[2]);//訪問數組的第3個元素
System.out.println("a[3]="+a[3]);//訪問數組的第3個元素
System.out.println("數組的長度為:"+a.length);//數組的長度
}
輸出的結果:
a[0]=0
a[1]=0
a[2]=0
a[3]=0
數組的長度為:4
四、總結
本文介紹了數組定義、數組的靜態初始化、數組的動態初始化。詳細介紹了數組的內容,數組的定義和訪問數組的元素、長度通過圖片和案例結合。靜態初始化是定義數組,為每個元素賦值。動態初始化是由于系統會自動給它們賦值。靜態初始化和動態初始化詳細的講解這兩個用法,通過圖片和案例結合來理解這用法。希望大家通過本文的學習,對你有所幫助!