java数组详解_java数组详解
一維數組
1)?? int[] a;?? //聲明,沒有初始化
2)?? int[] a=new int[5];?? //初始化為默認值,int型為0
3)?? int[] a={1,2,3,4,5};?? //初始化為給定值
4)?? int[] a=new int[]{1,2,3,4,5};?? //同(3)
int[] a=new int[5]{1,2,3,4,5};?? //錯誤,如果提供了數組初始化操作,則不能定義維表達式
5)?? int[] a;
a=new int[5];??? //正確,同(2)一樣
int[] a;
a={1,2,3,4,5};?? //錯誤,數組常量只能在初始化操作中使用,如(3)
6)?? int a[];
a[0]=1;?? //錯誤,因為數組沒有初始化,不能賦值
a[1]=2;
二維數組
1)?? int[][] a;? //聲明,沒有初始化
2)?? int[][] a=new int[2][3];??? //初始化為默認值,int型為0
3)?? int[][] a={{1,2},{2,3},{3,4}};?? //初始化為給定值
int[][] a={{1,2},{2,3},{3,4,5}};?? //沒有錯,數組空間不是連續分配的,所以不要求每一維的大小相同
4)?? int[][] a=new int[2][];
a[0]=new int[3];? //a[0]其實就是一個數組
a[1]=new int[4];? //每一維的大小可以不一樣;
5)?? int[][] a=new int[][]{{1,2},{2,3},{3,4,5}};?? //同(3)
int[] a=new int[5]{{1,2},{2,3},{3,4,5}};? //錯誤,如果提供了數組初始化操作,則不能定義維表達式
int[][] a=new int[2][];
a[0]={1,2,3,4,5};?? //錯誤,數組常量只能在初始化操作中使用
6)?? int[][] a=new int[2][];
a[0][1]=1;?? //錯誤,第二維沒有初始化,不能賦值,java.lang.NullPointerException異常
總結: 1.二維就是數組的數組,里面的數組大小不要求一樣
2.不管一維還是二維,在使用前(賦值,訪問)必須初始化,可以用new默認初始化,也可以用數組常量初始化
1.動態初始化:數組定義與為數組分配空間和賦值的操作分開進行;
2.靜態初始化:在定義數字的同時就為數組元素分配空間并賦值;
3.默認初始化:數組是引用類型,它的元素相當于類的成員變量,因此數組分配空間后,每個元素也被按照成員變量的規則被隱士初始化。
實例:
TestD.java(動態)
程序代碼
public?class?TestD
{
public?static?void?main(String?args[])?{
int?a[]?;
a?=?new?int[3]?;
a[0]?=?0?;
a[1]?=?1?;
a[2]?=?2?;
Date?days[]?;
days?=?new?Date[3]?;
days[0]?=?new?Date(2008,4,5)?;
days[1]?=?new?Date(2008,2,31)?;
days[2]?=?new?Date(2008,4,4)?;
}
}
class?Date
{
int?year,month,day?;
Date(int?year?,int?month?,int?day)?{
this.year?=?year?;
this.month?=?month?;
this.day?=?day?;
}
}
TestS.java(靜態):
程序代碼
public?class?TestS
{
public?static?void?main(String?args[])?{
int?a[]?=?{0,1,2}?;
Time?times?[]?=?{new?Time(19,42,42),new?Time(1,23,54),new?Time(5,3,2)}?;
}
}
class?Time
{
int?hour,min,sec?;
Time(int?hour?,int?min?,int?sec)?{
this.hour?=?hour?;
this.min?=?min?;
this.sec?=?sec?;
}
}
TestDefault.java(默認):
程序代碼
public?class?TestDefault
{
public?static?void?main(String?args[])?{
int?a?[]?=?new?int?[5]?;
System.out.println(""?+?a[3])?;
}
}
總結
以上是生活随笔為你收集整理的java数组详解_java数组详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java销售_销售转向java编程的开始
- 下一篇: java 变长参数 知乎_变长参数探究