javaSe 二維陣列(Day02)

2021-09-02 07:37:33 字數 1594 閱讀 1098

二維陣列常用語表示表,表中的資訊以行和列的形式表示,第乙個下標代表元素所在的行,第二個下標代表元素所在的列。

二維陣列可以看做是特殊的一維陣列,因此,二維陣列有一下幾種宣告方式:

1.陣列元素型別  陣列名字;

宣告二維陣列**如下:

int a;或int a;

2.同一維陣列一樣,二維陣列在宣告時也沒有分配記憶體空間,同樣需要使用new關鍵字來分配記憶體,然後才可以訪問每個元素。

例如:int a;

a=new int[3][4];   表示宣告了乙個3行4列的二維陣列。二維陣列常用語表示表,表中的資訊以行和列的形式表示,第乙個下標代表元素所在的行,第二個下標代表元素所在的列。

或  int a=new int[3][4];

二維陣列在宣告時可以先分配行,不分配列:int a=new int[3];

但是,建立二維陣列的時候,如果不寫『行』的話,就是錯誤的寫法:

比如:int a=new int[3]或int a=new int,都是錯誤的寫法,編譯無法通過。

初始化二維陣列:

初始化二維陣列有一下幾種方式:

1.如果在宣告二維陣列時並沒有指定列數的話,則賦值時列的值得個數不受限制:如下

int a=new int a[3];

a[0]=new int(表示第一行有三個元素,分別為2,3,5。第一行的第一列值為2,第一行的第二列值為3,第一行的第三列為元素值5);

a[1]=new int;(表示給第二行賦值兩個元素值)

a[2]=new nint;(表示給第三行賦值4個值。)

2.初始化二維陣列的第二種方式:()

int a=new int[3];

a[0]=new int[2];(表示定義行的列數。此處表示,第一行有兩列。)

a[0][0]=25,(第一行的第一列的值為25);

a[0][1]=30;(第一行的第二列的值為30);如果超出定義列的長度執行時則會丟擲陣列下標越界異常。比如:又定義了

a[0][2]=35;(則此時就已經越界了。)

3.初始化二維陣列的第三種方式。

int a=new int[3][3];

a[0][0]=30;表示第一行第一列的值為30,

a[0][1]=50;表示第一行第二列的值為50;

a0[2]=80;表示第一行第三列的值為80;

a[1]=new int;定義第二行個列的值。

4.在宣告二維陣列的同時就對二維陣列進行賦值

int c=new int ,,};定義了乙個二維陣列,有3行,乙個大括號表示1行。括號中的元素表示每一行個列的值。

或int c=,,};

二維陣列需要注意的問題:

在初始化二維陣列的時候只定義了陣列的行數,比如說 int a=new int[3],賦值時只是針對第一行進行了賦值:如:a[0]=new int:遍歷陣列時就會報空指標異常   

如下:

解決方法:1:給定義的所有的行賦值2.或者宣告二維陣列時把列數定義好:這樣就不會出現空指標異常。但,沒有賦值的行,行中各列的值都顯示為0,因為int陣列的預設值為0.**如下:

shell學習day02 陣列

1 shell只支援一維陣列 2 陣列中各個元素用空格隔開。元素加不加引號都可,主要是為了避免元素本身包含空格而導致shell將其識別為兩個元素。如下面的測試 arr a b c arr2 a c b c echo echo for n in do echo ndone echo for n in ...

JavaSE 學習參考 二維陣列遍歷

二維陣列遍歷和一維陣列遍歷類似,只不過在遍歷到一維元素時,由於元素是一維陣列還需要遍歷,構成雙重迴圈。使用雙重迴圈遍歷二維陣列時,外層迴圈的次數使用陣列元素的length屬性 內層迴圈的次數是使用每個一維陣列的元素的lengthn 屬性。方式一 靜態初始化,每一維在定義時就確定 public cla...

day07 二維陣列

陣列名稱不可以代表儲存區 陣列名稱代表陣列裡第乙個儲存區的位址 可以對陣列名稱進行sizeof計算,結果 是整個陣列包含的總位元組個數 c99規範裡允許宣告陣列的時候使用變數表示 陣列裡的儲存區個數 這種陣列叫變長陣列 每次程式執行過程中陣列裡儲存區個數不會改變 如果程式多次執行則每次執行的時候陣列...