Java數組定義及初始化


數組定義及初始化

數組這玩意是一種用於存放數據最常見數據結構。

數組的的概念及注意點

  • 數組要求所有的數組元素具有相同的數據類型,且只能存在一種數據類型,要多專一有多專一。
  • 數據類型既可以是基本類型也可以是引用類型,類里雖然有不同對象,但都屬於同一類,也可存於數組。
  • 數組就是一種引用類型。
  • 數組一旦初始化完成,長度就已經確定,所占內存空間也被固定且不能改變,把數據刪除也沒用。

數組的定義

// 定義數組
char[] initArrays;
char initArrays1[];
  • 兩者都可以定義一個數組,但建議使用第一種,也就是type[] arrayname,因為具有較好的可讀性,讓人一看就知道是個char[]類型的。
  • 僅僅定義了一個引用對象,且並沒有指向任何的內存,所以暫時是不能使用的,需要對它初始化

數組的初始化

形式

  • 靜態初始化
//靜態初始化
char[] initArrays0;
initArrays0 = new char[]{'1','2'};
//char[] initArrays0= {'1','2'};

靜態初始化需要人為顯式指定每個數組元素的初始值,由系統決定數組長度。

type[] arrayname={element1,element2...};是上面兩條語句的對於數組靜態初始化的簡化語法格式。

注意數組元素由花括號擴起,且由逗號分隔。

  • 動態初始化
//動態初始化
int[] arrays;
arrays = new int[3];
//int[] arrays = new int[3];

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

同樣,動態初始化也有簡化格式:type []arrayname = new int[length];

注意方括號內需指定數組的長度。

一旦為數組的每個元素數組分配了內存空間,每個內存空間里存儲的內容就是該元素的值,即使內容為空,也是null值,所以不論哪種方式初始化數組,都會使數組元素獲得初始值。只不過初始值的獲得的方式不一樣罷了,一個是人給的,一個是系統給的。

動態分配的初始值

既然動態初始化數組只需要指定每個元素所需的內存空間,由系統為各個元素賦初值,那么,這些初值系統又是如何來賦予的呢。以下是對各個不同類型的數組賦初值的嘗試:

int[] arrays = new int[3];
boolean[] arrays1 = new boolean[3];
String[] arrays2 = new String[3];
float[] arrays3 = new float[3];
char[] arrays4 = new char[3];
System.out.println(arrays[0]);//0
System.out.println(arrays1[0]);//false
System.out.println(arrays2[0]);//null
System.out.println(arrays3[0]);//0.0
System.out.println(arrays4[0]);//輸出'\u0000'為空
}

再根據查找資料,做出總結:

  • 整數類型(byte,short,int,long)->0;
  • 浮點類型(float,double)->0.0;
  • 字符類型(char) →'\u0000';
  • 布爾類型(boolean) →false;
  • 引用類型(類,接口,數組)->null;

通向Java深入:Java數組深入理解

小tips:關於輸出'\u0000'為空引發的思考:Java 中各種空(""、\u0000、null)的區別?


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM