一組相同型別的資料組合,是一種引用型別。
陣列名稱不是固定的,與其存放的資料的型別有關。
如:存放int型別的資料,
陣列名稱 int
存放字串資料,
陣列名稱 string
存放scanner型別的資料,
陣列名稱 scanner
陣列中的每個資料,都是這個陣列的元素。
1)宣告: 元素型別 變數名;
元素型別 變數名;---不推薦
2)變數的初始化的時機: 2種
(1)宣告時直接初始化
(2)先宣告,在初始化(使用前)
3)陣列的變數初始化: 3種
(1)靜態初始化
如:string names = ;
int = {};
(2)動態初始化
--規定陣列長度
如:int ages = new int[length];
--不規定長度
如:int ages = new int{};
double counts = new double;
4)預設元素:
整數型別: 預設是 0
浮點數型別: 預設是 0.0
字元型別: 預設'\u0000'
布林型別: 預設false
引用資料型別: 預設值null
即陣列元素的個數
表示方式: 變數名.length;
下標從0開始,最後乙個元素的下標為:length-1
範圍:0~length-1
通過下標進行檢視
語法: 變數名[index];
元素的遍歷(從頭到尾依次檢視)
for(int i=0;i《變數名.length-1;i++)
語法: 變數名[index] = value;
是指變數之間的賦值。
通過乙個變數對陣列的元素進行修改,那麼與之相關的變數對應的陣列元素也會發生變化。
如: int a = ;
int b = a;
a[1] = 20;
是陣列的工具類。此類提供了很多對陣列操作的功能方法
如: string info = arrays.tostring(陣列名);
arrays.tostring():此方法是將陣列的元素一一拼接成字串。
格式如下:
"[元素1,元素2,元素3,...,元素length-1]"
陣列的特點: 一經建立,長度不可變。
系統複製法:
system.arraycopy(src,start1,des,start2,length);
src:源陣列,即被複製的陣列名
start1:源陣列複製的開始下標
des:目標陣列,即複製到的陣列名
start2:目標陣列的複製的開始下標
length:複製的長度
工具類提供的複製方法:(此方法有擴容和縮容的效果)
語法:元素型別 變數名 = arrays.copyof(src,newlength);
src:源陣列
newlength:新陣列的長度
功能解釋:
從src的下標為0的元素開始複製,複製到長度為newlength的新陣列中,新陣列存放元素的開始位置為0
如:int nums = ;
int num1 = arrays.copyof(nums,5);
system.out.println(arrays.tostring(num1));
/* 建立乙個int型別的陣列num2,長度為10,儲存前五個元素為num1的內容*/
int num2 = arrays.copyof(num1,10);
system.out.println(arrays.tostring(num2));
/* 建立乙個陣列num3,長度為4,儲存num1的前四個元素*/
int num3 = arrays.copyof(num1,4);
system.out.println(arrays.tostring(num3));
基本資料型別陣列,元素是基本型別的資料。
引用資料型別陣列,元素是物件
引用資料型別的陣列使用規定長度的方式進行初始化時,
預設值是null;
如: cell cs = new cell[10];
cs裡有位址,陣列物件的位址。此物件裡有10個null。
第乙個元素儲存(0,3)的方格
cs[0] = new cell(0,3);
第二個元素儲存(0,4)的方法
cs[1] = new cell(0,4);
ps:引用型別的陣列物件內,儲存的是元素物件的位址資訊
1)概念:
陣列的元素依然是陣列
如:x=,,}
x陣列的元素:都是等長的陣列,類似於矩陣。
y =,,}
y陣列的元素:不是等長的陣列。
2)二維陣列的初始化:
靜態初始化
如:int a = ,,};
動態初始化
(1)等長式初始化
如:int a = new int[3][2];
表示a有三個元素,每個元素都是2個長度的陣列
(2)只規定高維陣列的長度
如:int a = new int[3];
表示a有三個元素,但都是null,不能直接進行賦值
null在使用時,需要新建陣列物件(長度任意)
/*二維陣列的宣告和初始化*/
/*靜態初始化:*/
int a = ,,};
/*使用for迴圈進行遍歷*/
for(int i=0;iint n = a[i];
for(int j=0;jout.print(n[j]+"");
}system.out.println();
}/* 動態初始化
二維陣列等長式初始化,考慮陣列下標越界異常
*/int b = new
int[6][5];
//訪問輸第乙個陣列
b[0][0] = 1;
//b[0][5] = 7;
system.out.println(arrays.tostring(b[0]));
/*動態初始化
只規定了高維陣列的長度。
裡面的元素是null,
*/int c = new
int[3];
//輸出c的第乙個元素
system.out.println(arrays.tostring(c[0]));
c[0] = new
int[2];//將null替換成陣列物件
c[0][0] = 1;
c[0][1] = 2;
system.out.println(c[0]);
system.out.println(arrays.tostring(c[0]));
c[1] = new
int[3];
c[1][1] = 4;
system.out.println(arrays.tostring(c[1]));
c[2] = new
int[2];
c[2][1] = 2;
system.out.println(arrays.tostring(c[2]));
陣列 二維陣列
陣列,從名字很簡單看出就是數字組合,一堆數 一堆元素 在一起。然後看一下怎麼定義,怎麼初始化。陣列的動態初始化 初始化之後每個元素的儲存內容為其對應資料型別的預設值。資料型別 陣列名 new 陣列型別 大小 int arr new int 5 資料型別 陣列名 new 陣列型別 大小 int arr...
陣列 二維陣列
1 我們先要理解什麼是二維陣列?其實二維陣列就是將兩個或者兩個以上的陣列巢狀在一起就形成了二維陣列。接下我們先通過對二維陣列的定義語法來看看二維陣列的書寫方式。動態初始化 資料型別 陣列名稱 new 資料型別 行的個數 列的個數 靜態初始化 資料型別 陣列名稱 new 資料型別 通過一組簡單的 來看...
陣列(一維陣列 二維陣列)
陣列概述 c 陣列從零開始建立索引,即陣列索引從零開始。c 中陣列的工作方式與在大多數其他流行語言中的工作方式類似。但還有一些差異應引起注意。這些其實和泛型有些類似,陣列的操作沒有泛型方便,但是效能卻不是泛型所能比擬的 宣告陣列時,方括號 必須跟在型別後面,而不是識別符號後面。在c 中,將方括號放在...