【JavaSE】數(shù)組
數(shù)組入門
變量一次只能存放一個(gè)值;數(shù)組,是一種容器可以存放多個(gè)數(shù)據(jù)值。
數(shù)組的特點(diǎn):
- 數(shù)值是一種引用數(shù)據(jù)類型
- 數(shù)據(jù)當(dāng)中多個(gè)數(shù)據(jù),類型必須統(tǒng)一
- 數(shù)組的長度在程序運(yùn)行期間不可改變
數(shù)組的初始化: 在內(nèi)存中創(chuàng)建一個(gè)數(shù)組,并向其中賦予一個(gè)默認(rèn)值。
兩種常規(guī)的初始化:
- 動態(tài)初始化(指定長度)
- 靜態(tài)初始化(指定內(nèi)容)
動態(tài)初始化數(shù)組的格式:
- 數(shù)據(jù)類型[ ] 數(shù)組名稱 = new 數(shù)據(jù)類型[數(shù)據(jù)長度];
解析含義:
- 左側(cè)數(shù)據(jù)類型 也就是數(shù)組中保存的數(shù)據(jù),全部都是同意的什么類型
- 左側(cè)中括號 代表一個(gè)數(shù)組
- 左側(cè)的數(shù)組名 給數(shù)組創(chuàng)建的名稱
- 右側(cè)的new 創(chuàng)建數(shù)組動作
- 右側(cè)數(shù)據(jù)類型 必須和左側(cè)數(shù)據(jù)類型保持一致
- 右側(cè)中括號的長度 即表示數(shù)組中到底可以保存多少數(shù)據(jù),是一個(gè)int型數(shù)據(jù)
public class DemoArray {
public static void main(String[] args) {
//創(chuàng)建一個(gè)數(shù)組,里面可以存放300個(gè)int型數(shù)據(jù)
//格式:數(shù)據(jù)類型[] 數(shù)組名稱 = new 數(shù)據(jù)類型[數(shù)據(jù)長度];
int[] arrayA = new int[10];
//創(chuàng)建數(shù)組,可以存放10個(gè)double型數(shù)據(jù)
double[] arrayB = new double[10];
//創(chuàng)建一個(gè)數(shù)組,能存放5個(gè)字符串
String[] arrayC = new String[5];
}
}
數(shù)組的定義格式
動態(tài)初始化(指定長度): 在創(chuàng)建數(shù)組的時(shí)候,指定數(shù)組中的數(shù)據(jù)元素個(gè)數(shù)
靜態(tài)初始化(指定內(nèi)容): 在創(chuàng)建數(shù)組時(shí),不直接指定數(shù)據(jù)個(gè)數(shù)多少,而是直接將具體的內(nèi)容進(jìn)行指定
靜態(tài)初始化基本格式:
數(shù)據(jù)類型[ ] 數(shù)組名稱 = new 數(shù)據(jù)類型[數(shù)據(jù)長度]{元素1,元素2,元素3};
省略格式:
數(shù)據(jù)類型[ ] 數(shù)組名稱 = {元素1,元素2,元素3};
注意事項(xiàng):
- 靜態(tài)初始化沒有指定長度,但是仍然會自動推算得到長度。
- 靜態(tài)初始化的標(biāo)準(zhǔn)格式可以拆分為兩個(gè)步驟
- 動態(tài)初始化也可以拆分為兩個(gè)步驟
- 靜態(tài)初始化一旦使用省略格式,就不能拆分成為兩個(gè)步驟了
使用建議:
5. 如果不確定數(shù)組中的具體內(nèi)容,用動態(tài)初始化,
6. 已經(jīng)確定了具體的內(nèi)容,用靜態(tài)的初始化
public class DemoArray02 {
public static void main(String[] args) {
//直接創(chuàng)建一個(gè)數(shù)組,里面裝著全部都是int數(shù)字,具體為......
int[] arrayA = new int[] {5,15,20,25,30};
//創(chuàng)建一個(gè)數(shù)組,用來裝字符串:“Hello”...
String[] arrayB = new String[] {"Hello","world","java"};
//省略格式的靜態(tài)初始化
int[] arrayC = {5,15,20,25,30};
//靜態(tài)初始化拆分為兩個(gè)步驟
int [] arrayD;
arrayD = new int[] {1,2,3,4,5};
//動態(tài)初始化拆分為兩個(gè)步驟
int [] arrayE;
arrayE = new int[5];
}
}
訪問并獲取數(shù)組元素
直接打印數(shù)組名稱,得到的是數(shù)組所對應(yīng)得 內(nèi)存地址的 哈希值
- 二進(jìn)制:01
- 十進(jìn)制:0123456789
- 16進(jìn)制:0123456789abcdef
訪問數(shù)組元素的格式 :
- 數(shù)組名稱[索引值]
- 索引值:是一個(gè)int型數(shù)字,代表數(shù)組中元素的編號。
- 【注意】索引值從 0 開始,一直到“數(shù)組的長度-1為止”
使用動態(tài)初始化數(shù)組時(shí),其中的元素會自動擁有一個(gè)默認(rèn)值,
默認(rèn)值的規(guī)則如下:
整型 默認(rèn)為0;
浮點(diǎn) 默認(rèn)值0.0;
字符 默認(rèn)值’\u0000’;
布爾 默認(rèn)值false;
引用 默認(rèn)值null.
注意事項(xiàng):
靜態(tài)初始化也有默認(rèn)值的過程,只不過系統(tǒng)自動馬上將默認(rèn)值替換成大括號當(dāng)中的具體數(shù)值; 先默認(rèn),在替換,讀取
/*
* 直接打印數(shù)組名稱,得到的是數(shù)組所對應(yīng)得 內(nèi)存地址的 哈希值
* 二進(jìn)制:01
* 十進(jìn)制:0123456789
* 16進(jìn)制:0123456789abcdef
*
* 訪問數(shù)組元素的格式 :
* 數(shù)組名稱[索引值]
* 索引值:是一個(gè)int型數(shù)字,代表數(shù)組中元素的編號。
* 【注意】索引值從0開始,一直到“數(shù)組的長度-1為止”
*/
public class DemoArrayUse {
public static void main(String[] args) {
// 靜態(tài)初始化
int[] array = {10,20,30};
System.out.println(array);// [I@65b3120a
//打印訪問后的數(shù)組數(shù)據(jù)
System.out.println(array[0]);//10
System.out.println(array[1]);//20
System.out.println("-------");
//將數(shù)組的數(shù)據(jù)賦值給變量,使用變量打印輸出
int num = array[2];
System.out.println(num);
System.out.println("=======");
//動態(tài)初始化數(shù)組
int[] arrayA = new int[5];
System.out.println(array);//內(nèi)存地址值
System.out.println(arrayA[0]);//0
System.out.println(arrayA[1]);//0
System.out.println("========");
//將123賦值給arrayA[1]
arrayA[1] = 123;
System.out.println(arrayA[1]);
}
}

浙公網(wǎng)安備 33010602011771號