1. 創建一維數組
數組作為對象允許使用new關鍵字進行內存分配。在使用數組之前,必須首先定義數組變量所屬的類型。一維數組的創建有兩種形式。
a. 先聲明,再用new運算符進行內存分配
聲明一維數組有以下兩種方式:
數組元素類型 數組名字[];
數組元素類型[] 數組名字;
數組元素類型決定了數組的數據類型。它可以是Java中任意的數據類型,包括簡單類型和組合類型。數組名字為一個合法的標識符,符號“[ ]”指明該變量是一個數組類型變量。單個”[ ]”表示要創建的數組是一個一維數組。
int arr[]; //聲明是int型數組,數組中的每個元素都是int型值 String str[]; //聲明String數組,數組中的每個元素都是String型數值
聲明數組后,還不能立即訪問他的任何元素,因為聲明數組只是給出了數組名字和元素的數據類型,要想真正的使用數組,還要為它分配內存空間。在為數組分配空間時必須指明數組的長度,為數組分配內存的語法格式為:
數組名字 = new 數組元素的類型[數組元素的個數];
數組名字:被連接到數組變量的名稱。
數組元素的個數:指定數組中的個數,即數組的長度。
使用new關鍵字分配數組時,必須指定數組元素的類型和數組元素的個數,即數組的長度。
數組名字:被連接到數組變量的名稱。
數組元素的個數:指定數組中的個數,即數組的長度。
使用new關鍵字分配數組時,必須指定數組元素的類型和數組元素的個數,即數組的長度。
//為數組分配內存 arr = new int[5];
以上代碼表示要創建一個有5個元素的整型數組,並且將創建的數組對象賦給引用變量arr,即引用變量arr引用這個數組。如下圖所示:
在圖中arr為數組名稱,方括號“[ ]” 中的值為數組的下標。數組通過下標來區分數組中的不同元素。數組的下標是從0開始的。由於創建的數組arr中有5個元素,因此數組中元素的下標為0~4.
使用new關鍵字為數組分配內存時,整型數組中各個元素的初始值都為0。
2. 聲明的同時為數組分配內存
這種創建數組的方法是將數組的聲明和內存的分配合在一起執行。語法如下所示:
數組元素的類型 數組名 = new 數組元素的類型[數組元素的個數]; //聲明並為數組分配內存 int month[ ] =new int[12];
上面代碼創建數組month,並指定了數組的長度為12。
2. 初始化一維數組
數組與基本數據類型一樣可以進行初始化操作。數組的初始化操作可分別初始化數組中的每個元素。數組的初始化有以下兩種形式
int arr[]=new int[]{1,2,3,4,5}; //第一種初始化方式 int arr2[] ={12,34,29,22}; //第二種初始化方式
從中可以看出,數組的初始化就是包括大括號之內用都好分開的表達式列表。用括號( , )分割數組中的元素,系統自動為數組分配一定的空間。用第一種初始化方式,將創建5個元素的數組,依次為1、2、3、4、5。第二種初始化方式,會創建4個元素的數組,依次為12、34、29、22。
3. 使用一維數組
在Java集合中一維數組是常見的一種數據結構。通過使用一維數組來對其進一步了解。
public class Day{//創建類 public static void main(String[] args){//主方法 //創建並初始化一維數組 int day[]=new int[]{31,28,31,30,31,30,31,30,31,31,30,31}; //利用for循環將信息輸出 for(int i=0; i <12;i++){ //輸出的信息 System.out.println((i+1)+"月有"+day[i]+"天"); } } }
運行結果如下:
//聲明 int[] a; int b[]; //創建數組對象 a = new int[4]; b = new int[5]; //動態初始化: for(int i=0;i<a.length;i++){ a[i]=i*12; } //靜態初始化 int c[]= {23,43,56,78}; //內存中開辟空間的同時賦值;長度是4,索引范圍是0~3 Car[] cars = { new Car("奔馳"), new Car("寶馬"), new Car("奧迪") }; Car c2 = new Car("奔馳"); //接下來,可以驗證上面的兩個奔馳是否相等 System.out.println(c2== cars[0]);