Java建立數組的幾種方式總結_java

來源:互聯網
上載者:User

1、一維數組的聲明方式:

type[] arrayName; 或 type arrayName[];

附:推薦使用第一種格式,因為第一種格式具有更好的可讀性,表示type[]是一種參考型別(數組)而不是type類型。建議不要使用第二種方式

下面是典型的聲明數組的方式:

 // 聲明整型數組 int[] intArray0 ; int intArray1 []; // 聲明浮點型數組 float floatArray0 []; float[] floatArray1 ; // 聲明布爾型數組 boolean boolArray0 []; boolean[] boolArray1 ; // 聲明字元型數組 char charArray0 []; char[] charArray1 ; // 聲明字串數組 String stringArray0[]; String[] stringArray1; // 錯誤的聲明數組的方式,聲明數組的時候不能指定其大小 // int [5] intErrorArray0; // int intErrorArray1[5];

註:Java語言中聲明數組時不能指定其長度(數組中元素的個數),這是因為數組是一種參考型別的變數,,因此使用它定義一個變數時,僅僅表示定義了一個引用變數(也就是定一個了一個指標),這個引用變數還未指向任何有效記憶體,所以定義數組時不能指定數組的長度。而且由於定義數組僅僅只是定一個引用變數,並未指向任何有效記憶體空間,所以還沒有記憶體空間來儲存數組元素,因此這個數組也不能使用,只有在數組進行初始化後才可以使用。

2、一維數組的建立

Java中使用關鍵字new建立數組對象,格式為:數組名 = new 數組元素的類型 [數組元素的個數]

// 建立數組,如果在建立的同時不初始化數組則必須指定其大小intArray0 = new int[3];// 錯誤的建立數組的方式,如果建立數組時不指定大小則必須初始化// intArray1 = new int[];// 建立數組時,不指定數組大小則必須在建立的同時初始化數組 intArray1 = new int[]{0,1,2};

使用new建立數組對象但是分配數組時會自動為數組分配預設值,具體如下:

 System.out.println( "intArray0[0]=" + intArray0 [0]); floatArray0 = new float[3]; System. out.println("floatArray0[0]=" + floatArray0[0]); boolArray0 = new boolean[3]; System. out.println("boolArray0[0]=" + boolArray0[0]); charArray0 = new char[3]; System. out.println("charArray0[0]=" + charArray0[0]); stringArray0 = new String[3]; System. out.println("stringArray0[0]=" + stringArray0[0]);

輸出如下:

 intArray0[0]=0 floatArray0[0]=0.0 boolArray0[0]=false charArray0[0]= stringArray0[0]=null

附:一旦使用new關鍵字為數組分配了記憶體空間,每個記憶體空間儲存的內容就是數組元素的值,也就是數組元素就有了初始值,即使這個記憶體空間儲存的內容是空,這個空也是一個值null。也就是說不可能只分配內容空間而不賦初始值,即使自己在建立數組對象(分配內容空間)時沒有指定初始值,系統也會自動為其分配

附:諸如基礎資料類型的封裝類,其預設的初始化值均為null,因為基礎資料類型的封裝類建立的數組屬於引用數組(對象數組),對象數組預設的初始化值都是null

3、一維數組的初始化

數組的初始化分為靜態初始化、動態初始化和預設初始化:

靜態初始化是數組在初始化時由程式員顯式指定每個數組元素的初始值而數組長度由系統決定。

動態初始化是數組在初始化時只指定數組長度,由系統為數組元素分配初始值。

a、數組靜態初始化的文法格式:

arrayName = new type[]{element1,element2,element3...}或者使用簡化的文法格式:arrayName = {element1,element2,element3...}

b、數組動態初始化的文法格式:

arrayName = new type[length];

附:靜態初始化時不能指定元素個數,而動態初始化時則必須指定元素個數。靜態初始化時數組能夠知道元素的個數所以不需要指定,而動態初始化時數組元素個數未知因此必須指定。

// 靜態初始化int intArray2 [] = new int[]{20,21,22};// 靜態初始化簡化方式int intArray3 [] = {30,31,32};// 動態初始化int[] intArray4 = new int[3];// 錯誤寫法:靜態初始化不能指定元素個數// int intErrorArray5[] = new int[3]{50,51,52};// 錯誤寫法:動態初始化必須指定元素個數// int intErrorArray6[] = new int[];

註:一維數組這一塊記住兩點,數組聲明的時候是不能指定大小的,也就是說等號左邊的中括弧中不能包含數字。另外一旦使用new關鍵字那麼肯定在記憶體中為數組分配了空間,則必然數組有預設值。數組是對象資料類型

註:不要靜態初始化和動態初始化同時使用,也就是說不要再進行數組初始化時,既指定數組長度,也為每個數組元素分配初始值。

4、數組進行動態初始化時系統分配初始值的規則

數組元素類型是基本類型中的整數類型(byte、short、int、long),則數組元素的值是0

數組元素類型是基本類型中的浮點類型(float、double),則數組元素的值是0.0

數組元素類型是基本類型中的字元類型(char),則數組元素的值是'\u0000'

數組元素類型是基本類型中的布爾類型(boolean),則數組元素的值是false

數組元素類型是基本類型中的參考型別(類、介面、數組),則數組元素的值是null

附:這部分原始碼:

package javabase;public class CreateArray {    public static void main(String args[]){ /**************數組的聲明*******************/ // 聲明整型數組 int[] intArray0 ; int intArray1 []; // 聲明浮點型數組 float floatArray0 []; float[] floatArray1 ; // 聲明布爾型數組 boolean boolArray0 []; boolean[] boolArray1 ; // 聲明字元型數組 char charArray0 []; char[] charArray1 ; // 聲明字串數組String stringArray0[];String[] stringArray1; // 錯誤的聲明數組的方式,聲明數組的時候不能指定其大小 // int [5] intErrorArray0; // int intErrorArray1[5]; /*********************數組的建立***********************/ // 建立數組,如果在建立的同時不初始化數組則必須指定其大小 intArray0 = new int[3]; // 錯誤的建立數組的方式,如果建立數組時不指定大小則必須初始化 // intArray1 = new int[]; // 建立數組時,不指定數組大小則必須在建立的同時初始化數組 intArray1 = new int[]{0,1,2};System. out.println("intArray0[0]=" + intArray0[0]); floatArray0 = new float[3];System. out.println("floatArray0[0]=" + floatArray0[0]); boolArray0 = new boolean[3];System. out.println("boolArray0[0]=" + boolArray0[0]); charArray0 = new char[3];System. out.println("charArray0[0]=" + charArray0[0]); stringArray0 = new String[3];System. out.println("stringArray0[0]=" + stringArray0[0]); /**********************數組的初始化*************************/ // 靜態初始化 int intArray2 [] = new int[]{20,21,22}; // 靜態初始化簡化方式 int intArray3 [] = {30,31,32}; // 動態初始化 int[] intArray4 = new int[3]; // 錯誤寫法:靜態初始化不能指定元素個數 // int intErrorArray5[] = new int[3]{50,51,52}; // 錯誤寫法:動態初始化必須指定元素個數 // int intErrorArray6[] = new int[];System. out.println("intArray2[0]=" +intArray2 [0]);System. out.println("intArray3[0]=" +intArray3 [0]);System. out.println("intArray4[0]=" +intArray4 [0]);   }}

以上就是小編為大家帶來的Java建立數組的幾種方式總結的全部內容了,希望對大家有所協助,多多支援雲棲社區~

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.