??大一小何,還在學習當中,歡迎交流指正~
??沖沖沖!
目錄
?
一,陣列的相關知識
陣列的相關概念:
特點:
陣列的分類:
陣列的初始化:
兩種常見的初始化方式:
動態初始化陣列的格式:
靜態初始化陣列的格式:
二,一維陣列
1.一維陣列的宣告和初始化
2,呼叫陣列中的元素
3,陣列元素的默認初始值
三,二維陣列
1,理解
2,二維陣列的宣告和初始化
3,獲取陣列的長度
4,遍歷二維陣列
5,陣列元素的默認初始化
一,陣列的相關知識
陣列的相關概念:
1,陣列名
2,元素
3,角標( 又叫下標或索引)
4,陣列的長度:元素的個數
特點:
1,陣列是有序排列的
2,陣列屬于參考資料型別的變數,陣列的元素,既可以是基本資料型別,也可以是參考資料型別;
3,創建陣列物件會在記憶體中開辟一塊連續的空間
4,陣列的長度一旦確定,就不能修改,
陣列的分類:
1,按照維數:一維陣列,二維陣列,多維陣列
2,按照陣列元素的型別:基本資料型別的陣列,參考資料型別的陣列;
陣列的初始化:
在記憶體當中創建一個陣列,并且向其中賦予一些默認值,
兩種常見的初始化方式:
- 1. 動態初始化(指定長度)
- 2. 靜態初始化(指定內容)
動態初始化陣列的格式:
資料型別[] 陣列名稱 = new 資料型別[陣列長度];
靜態初始化陣列的格式:
資料型別[] 陣列名稱 = {元素1,元素2}
,
二,一維陣列
1.一維陣列的宣告和初始化
有以下兩種方法:
int[] arry1;//宣告
arry1 = new int[]{1,2,3,4};//靜態初始化:陣列的初始化和陣列元素的賦值操作同時進行
String[] names = new String[5];//動態初始化:陣列的初始化和陣列元素的賦值操作分開進行
下面舉一些常見的錯誤寫法:
int[] arry1 = new int[];//錯誤
int[5] arry2 = new int[5];//錯誤
int[] arry3 = new int[3]{1,2,3};//錯誤
注意:陣列一旦初始化完成,其長度就確定了,
2,呼叫陣列中的元素
通過角標的方式呼叫
注意:陣列的角標(或索引)從0開始,到陣列的長度-1結束,
3,陣列元素的默認初始值
3.1 陣列的元素是int型:0;
3.2 陣列的元素是float/double型:0,0;
3.3 陣列的元素是char型:0 或 ' \u0000 ' ,而非' 0 ';
3.4 陣列的元素是boolean型:false;
特別的,陣列元素是參考資料型別:null;
三,二維陣列
1,理解
對于二維陣列的理解,我們可以看作是一種一維陣列arry1又作為另一個一維陣列arry2的元素而存在的,其實,從陣列底層的運行機制來看,其實沒有多維陣列,
2,二維陣列的宣告和初始化
正確的寫法
int[][] arry1 = new int[]{{1,2,3},{4,5,6},{7,8,9}};//靜態初始化
String[][] arry2 = new String[3][2];//動態初始化1
String[][] arry2 = new String[3][]; //動態初始化2
int arry3[][] = new int[][]{{1,2,3},{4,5},{6,7,8}};//這是正確的寫法!
int[] arry3[] = new int[][]{{1,2,3},{4,5},{6,7,8}};//這是正確的寫法!
int[] arry3[] = {{1,2,3},{4,5},{6,7,8}};//這是正確的寫法!
以下是常見的錯誤寫法;
String[][] arry4 = new String[][4];//錯誤!
String[4][3] arry5 = new String[][];//錯誤!
int[][] arry6 = new int[4][3]{{1,2,3},{4,5,},{6,7,8}};//錯誤!
3,獲取陣列的長度
如以下代碼是對上面的陣列求取長度;
System.out.println(arry3.length);//3
System.out.println(arry3[1].length);//2
4,遍歷二維陣列
for(int i = 0;i < arry.length;i++)
{
for(int j=0;j < arry[i].length;j++)
{
System.out.println(arry[i][j] + " ");//依次輸出陣列中的元素
}
System.out.println();//換行
}
5,陣列元素的默認初始化
針對于初始化方式一 :
比如:int[][] arry = new int [4][3];
外層元素的初始化值為 :地址值;
內層元素的初始化值為:與一維陣列的初始化情況相同
即
陣列的元素是int型:0;
陣列的元素是float/double型:0,0;
陣列的元素是char型:0 或 ' \u0000 ' ,而非' 0 ';
陣列的元素是boolean型:false;
如 以下這種情況 :

針對初始化方式二:
比如 :int[][] arry = new int int[4][];
外層元素的初始化值為 :null;
內層元素的初始化值為:不能呼叫,否則會報錯;
如以下情況

以上為創建一個陣列在默認情況和賦值情況下記憶體堆和記憶體堆疊在運行情況

一起加油哦!!!

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/413898.html
標籤:其他


