陣列是可以存放多個同型別資料,比如一些學生的成績等等。
int arr=new
int[5];
這句話左半部分在棧記憶體中定義了乙個名為arr的變數,然後這個變數指向在堆記憶體建立的5個int型別資料。
注:陣列在宣告長度後不可改變陣列長度
//第一種方法(動態初始化)
int array1=new
int[5];
arr[0]=1;
arr[1]=2;
...//第二種方法(靜態初始化)
int array2=;
//第三種方法(靜態初始化)
int array3=new
int;
//下面是錯誤的宣告方法
int array4;
array4=
intarr=new
int ;
system.out.println(arr.length);
(目前常用的只有.length,以後還會補充)
二維陣列其實相當於一維陣列裡面巢狀著乙個一維陣列。
//方法一
int array=new int[3][2]; //表示宣告了乙個3行2列的二維陣列
arr[0][1]=2;
...
其記憶體分配如圖(圖中「亂碼」是雜湊碼,相當於c\c++裡的位址)
//方法二
int array1=new
int[4];//宣告時二維陣列的第二維可以省略,但第一維不能省略
//方法三
int array2=new
int,};//宣告了乙個不等長的二維陣列
int arr=new
int ,};
system.out.println(arr.length);
輸出結果:2
多試幾個例子就可以發現此時.length獲取的是二維陣列的第一維(也就是行數)。
那麼怎麼獲取每一行的個數呢?
int arr=new int ,};
system.out.println(arr[0].length);
system.out.println(arr[1].length);
輸出結果:
34
我們可以使用以下的格式來獲取某一行的長度。
//arr為二維陣列
int len=arr[n].length;//len所儲存的就是arr陣列裡第n行的個數
我們可以直接用**來得到這些。
//string型別
string arr1=new string [2][2];
system.out.println(arr1[0][0]);
//int型別
int arr2=new int [2][2];
system.out.println(arr2[0][0]);
//float型別
float arr3=new float [2][2];
system.out.println(arr3[0][0]);
//char型別
char arr4=new char [2][2];
system.out.println((int)arr4[0][0]);
輸出結果:
null
00.0
0
因為string型別建立的是物件陣列,它沒初始化時物件為空(null)。因為空字元無法顯示,所以將char型別強制轉化為int型別更直觀。
**以上為個人總結,如有錯誤之處,還請大佬指出。
java 學習筆記 陣列(三)
標籤 在電腦科學中,陣列資料結構 英語 array data structure 簡稱陣列 英語 array 是由相同型別的元素 element 的集合所組成的資料結構,分配一塊連續的記憶體來儲存。利用元素的索引 index 可以計算出該元素對應的儲存位址。靜態初始化基本型別 int array 靜...
java筆記 陣列
陣列 1 是一種資料型別 應用型別 2 相同資料型別元素的集合 3 陣列的定義 資料型別 資料名 new 資料型別 大小 int a 宣告整型變數 int a 宣告整型陣列變數 int a 5 int new int 5 宣告整型陣列a,包含5個元素 每個元素都是int型別,預設值為0 double...
Scala學習筆記 陣列
對於scala來說,陣列是一塊相當總要的內容,因此掌握是十分重要的。陣列分為兩種 定長陣列 array 變長陣列 arraybuffer array 10個整數的陣列,所有元素的初始化為0 val nums new arraystring 長度為2的array string 型別是推斷出來的 注 已...