1.聲明數組
聲明形式一:
1 //type arrayName[];
2 3 int a[];
聲明形式二:
1 //type[] arrayName;
2 3 int[] a;
二維數組的聲明和一維數組類似,內存分配也是使用new關鍵字.
聲明:
1 //type arrayName[][];
2 3 int a[][]
初始化:
1 //arrayName[][]=new type[行][列];//注意:行、列是方便理解加上的 2 3 //a=new int[2][3]; 4 5 package com.lzx; 6 7 public class Test6 { 8 9 public static void main(String[] args) { 10 11 int a[][]; a=new int[2][3]; 12 13 for (int i = 0; i < a.length; i++) { 14 15 for (int j = 0; j < a[i].length; j++) { 16 17 System.out.print(a[i][j]); 18 19 } 20 21 System.out.println(); 22 23 } 24 25 } 26 27 } 28 29 //運行結果 30 31 000 32 000
實例:
1 //聲明數組 2 3 int arrayDemo[]; 4 5 int[] score;
2.內存的分配
為數組分配內存空間,如果不分配內存,將不能訪問它的任何元素.我們使用new關鍵字 來為數組分配內存空間
1 package com.lzx; 2 3 public class Test4 { 4 public static void main(String[] args) { 5 int[] score=null;//數組的聲明 6 score=new int[3];//為數組開辟內存空間,實例化 7 //int[] score=new int[3];//這種寫法是結合前兩行 8 for (int i = 0; i < score.length; i++) { 9 System.out.println(score[i]); 10 } 11 12 } 13 } 14 15 //運行結果 16 0 17 0 18 0
由於數組沒有被賦值,所以顯示默認值,比如int類型的默認值是0,string類型的默認值是空(null).
3.數組的初始化
java語言可以使用new操作符動態來初始化數組,語法如下:
1 //arrayName=new dataType[arraySize]; 2 a=new int[5];
只指定數組的長度,讓系統來決定數組的元素的值.
如果數組元素是基本類型,那么所有數組元素的值都是0/0.0/false/\u0000(只記都是零)
如果數組元素是應用數據類型,那么所有數組元素的值都是null.
數組變量的聲明,和創建數組可以用一條語句完成,如下所示:
1 dataType[] arrayName=new dataType[arratSize]; 2 int[] a=new int[5];
另外,你還可以使用靜態初始化的方式創建數組.
1 //dataType[] arrayRefVar = {value0,value1,value2,...} 2 int[] a={144,4,45,44,..}
只指定數組的元素,讓系統來決定數組的長度.
4.數組類型
Java數據類型可以分為:基本類型---8個和引用類型---類、接口、數組
數組是引用類型
1 int→int[]---整數數組 2 double→double[]---double數組 3 .... 4 String→String[]---String數組
借助於數組,我們可以非常方便地去管理、訪問每個數組元素(相當於一個變量)
Java數組的兩大特征:
1 Java語言是強類型:一個數組里只能存儲一種數據類型的數據 2 Java語言是靜態的:Java的數組一旦被初始化之后,它的長度是固定的。
定義數組時,不能指定數組的長度
數組類型是引用類型.
引用類型的本質就是指針.---指針也是變量,只不過它里面存的值是內存編號(內存地址)數組變量只是一個引用,因此聲明時只是定義了一個引用變量,並未真正指向有效的數組對象(存在),也就是並為真正指向有效的內存,因此不能聲明長度,而且也不能使用。
5.遍歷數組:
1.for循環
1 package com.lzx; 2 3 public class Test5 { 4 public static void main(String[] args) { 5 int[] a=new int[] {5,48,4,5,4}; 6 for (int i = 0; i < a.length; i++) { 7 System.out.print(a[i]+" "); 8 } 9 10 11 } 12 } 13 14 //運行結果 15 5 48 4 5 4
2.foreach
1 package com.lzx; 2 3 public class Test6 { 4 public static void main(String[] args) { 5 int[] a=new int[] {5,48,4,5,4}; 6 for (int b:a) { 7 System.out.print(b+" "); 8 } 9 } 10 } 11 //運行結果 12 5 48 4 5 4